From 8fe45978e832f40a6295b2d1bd57e717da3fa7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 2 Dec 2021 15:05:12 +0100 Subject: [PATCH 01/89] ISSUE #1 * Fully refactor templates. --- .../python/package-manager/pip/copier.yml | 26 ++++++++ .../pip/{{ name }}/requirements.txt | 5 ++ .../package-manager/pip/{{ name }}/setup.py} | 0 .../python/package-manager/poetry/copier.yml | 26 ++++++++ .../poetry/{{ name }}/poetry.toml.jinja} | 0 .../poetry/{{ name }}/pyproject.toml.jinja} | 8 +-- microservice/{ => python/skeleton}/copier.yml | 14 +---- .../skeleton}/{{ name }}/.dockerignore | 0 .../skeleton}/{{ name }}/Dockerfile | 2 +- .../{ => python/skeleton}/{{ name }}/Makefile | 0 .../skeleton/{{ name }}/README.md.jinja | 4 ++ .../skeleton/{{ name }}/config.yml.jinja | 62 +++++++++++++++++++ .../skeleton}/{{ name }}/setup.cfg | 0 .../{{ name }}/src/__init__.py.jinja} | 0 .../{{ name }}/src/__main__.py.jinja} | 0 .../{{ name }}/src/aggregates.py.jinja} | 0 .../skeleton}/{{ name }}/src/cli.py | 0 .../src/commands/__init__.py.jinja} | 0 .../src/commands/services.py.jinja} | 0 .../{{ name }}/src/queries/__init__.py.jinja} | 0 .../{{ name }}/src/queries/services.py.jinja} | 0 .../skeleton/{{ name }}/tests}/__init__.py | 0 .../tests/test_aggregates.py.jinja} | 0 .../tests/test_commands}/__init__.py | 0 .../test_commands/test_services.py.jinja} | 0 .../{{ name }}/tests/test_queries/__init__.py | 0 .../test_queries/test_services.py.jinja} | 0 .../skeleton}/{{ name }}/tests/utils.py | 0 microservice/{{ name }}/README.md | 4 -- microservice/{{ name }}/config.yml | 62 ------------------- 30 files changed, 130 insertions(+), 83 deletions(-) create mode 100644 microservice/python/package-manager/pip/copier.yml create mode 100644 microservice/python/package-manager/pip/{{ name }}/requirements.txt rename microservice/{{{ name }}/tests/__init__.py => python/package-manager/pip/{{ name }}/setup.py} (100%) create mode 100644 microservice/python/package-manager/poetry/copier.yml rename microservice/{{{ name }}/poetry.toml => python/package-manager/poetry/{{ name }}/poetry.toml.jinja} (100%) rename microservice/{{{ name }}/pyproject.toml => python/package-manager/poetry/{{ name }}/pyproject.toml.jinja} (74%) rename microservice/{ => python/skeleton}/copier.yml (81%) rename microservice/{ => python/skeleton}/{{ name }}/.dockerignore (100%) rename microservice/{ => python/skeleton}/{{ name }}/Dockerfile (93%) rename microservice/{ => python/skeleton}/{{ name }}/Makefile (100%) create mode 100644 microservice/python/skeleton/{{ name }}/README.md.jinja create mode 100644 microservice/python/skeleton/{{ name }}/config.yml.jinja rename microservice/{ => python/skeleton}/{{ name }}/setup.cfg (100%) rename microservice/{{{ name }}/src/__init__.py => python/skeleton/{{ name }}/src/__init__.py.jinja} (100%) rename microservice/{{{ name }}/src/__main__.py => python/skeleton/{{ name }}/src/__main__.py.jinja} (100%) rename microservice/{{{ name }}/src/aggregates.py => python/skeleton/{{ name }}/src/aggregates.py.jinja} (100%) rename microservice/{ => python/skeleton}/{{ name }}/src/cli.py (100%) rename microservice/{{{ name }}/src/commands/__init__.py => python/skeleton/{{ name }}/src/commands/__init__.py.jinja} (100%) rename microservice/{{{ name }}/src/commands/services.py => python/skeleton/{{ name }}/src/commands/services.py.jinja} (100%) rename microservice/{{{ name }}/src/queries/__init__.py => python/skeleton/{{ name }}/src/queries/__init__.py.jinja} (100%) rename microservice/{{{ name }}/src/queries/services.py => python/skeleton/{{ name }}/src/queries/services.py.jinja} (100%) rename microservice/{{{ name }}/tests/test_commands => python/skeleton/{{ name }}/tests}/__init__.py (100%) rename microservice/{{{ name }}/tests/test_aggregates.py => python/skeleton/{{ name }}/tests/test_aggregates.py.jinja} (100%) rename microservice/{{{ name }}/tests/test_queries => python/skeleton/{{ name }}/tests/test_commands}/__init__.py (100%) rename microservice/{{{ name }}/tests/test_commands/test_services.py => python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja} (100%) create mode 100644 microservice/python/skeleton/{{ name }}/tests/test_queries/__init__.py rename microservice/{{{ name }}/tests/test_queries/test_services.py => python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja} (100%) rename microservice/{ => python/skeleton}/{{ name }}/tests/utils.py (100%) delete mode 100644 microservice/{{ name }}/README.md delete mode 100644 microservice/{{ name }}/config.yml diff --git a/microservice/python/package-manager/pip/copier.yml b/microservice/python/package-manager/pip/copier.yml new file mode 100644 index 0000000..bbe6219 --- /dev/null +++ b/microservice/python/package-manager/pip/copier.yml @@ -0,0 +1,26 @@ +name: + type: str + help: What is the name of the microservice? +description: + type: str + help: What is the description of the microservice? + default: "This is the {{ name }} microservice." +author: + type: str + help: Who is the author of the microservice? + default: Clariteia Devs +email: + type: str + help: What is the email of the microservice's author? + default: devs@clariteia.com + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/python/package-manager/pip/{{ name }}/requirements.txt b/microservice/python/package-manager/pip/{{ name }}/requirements.txt new file mode 100644 index 0000000..6cd7bb4 --- /dev/null +++ b/microservice/python/package-manager/pip/{{ name }}/requirements.txt @@ -0,0 +1,5 @@ +minos-microservice-common~=0.3.2 +minos-microservice-networks~=0.3.1 +minos-microservice-saga~=0.3.5 +minos-microservice-cqrs~=0.2.1 +typer~=^0.3.2 diff --git a/microservice/{{ name }}/tests/__init__.py b/microservice/python/package-manager/pip/{{ name }}/setup.py similarity index 100% rename from microservice/{{ name }}/tests/__init__.py rename to microservice/python/package-manager/pip/{{ name }}/setup.py diff --git a/microservice/python/package-manager/poetry/copier.yml b/microservice/python/package-manager/poetry/copier.yml new file mode 100644 index 0000000..bbe6219 --- /dev/null +++ b/microservice/python/package-manager/poetry/copier.yml @@ -0,0 +1,26 @@ +name: + type: str + help: What is the name of the microservice? +description: + type: str + help: What is the description of the microservice? + default: "This is the {{ name }} microservice." +author: + type: str + help: Who is the author of the microservice? + default: Clariteia Devs +email: + type: str + help: What is the email of the microservice's author? + default: devs@clariteia.com + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/{{ name }}/poetry.toml b/microservice/python/package-manager/poetry/{{ name }}/poetry.toml.jinja similarity index 100% rename from microservice/{{ name }}/poetry.toml rename to microservice/python/package-manager/poetry/{{ name }}/poetry.toml.jinja diff --git a/microservice/{{ name }}/pyproject.toml b/microservice/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja similarity index 74% rename from microservice/{{ name }}/pyproject.toml rename to microservice/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja index e76275c..ef858cf 100644 --- a/microservice/{{ name }}/pyproject.toml +++ b/microservice/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja @@ -1,8 +1,8 @@ [tool.poetry] -name = "{{ cookiecutter.name}}" -version = "{{ cookiecutter.version}}" -description = "{{ cookiecutter.description }}" -authors = ["{{ cookiecutter.author }} <{{ cookiecutter.email }}>"] +name = "{{ name }}" +version = "{{ version }}" +description = "{{ description }}" +authors = ["{{ author }} <{{ email }}>"] packages = [{ include = "src" }] [tool.poetry.dependencies] diff --git a/microservice/copier.yml b/microservice/python/skeleton/copier.yml similarity index 81% rename from microservice/copier.yml rename to microservice/python/skeleton/copier.yml index 0cf8c9a..411c36b 100644 --- a/microservice/copier.yml +++ b/microservice/python/skeleton/copier.yml @@ -1,22 +1,10 @@ name: type: str help: What is the name of the microservice? -description: - type: str - help: What is the description of the microservice? - default: "This is the {{ name }} microservice." version: type: str help: What is the version of the microservice? default: 0.1.0 -author: - type: str - help: Who is the author of the microservice? - default: Clariteia Devs -email: - type: str - help: What is the email of the microservice's author? - default: devs@clariteia.com aggregate: type: str default: "{{ name.replace('_',' ').title().replace(' ', '') }}" @@ -82,3 +70,5 @@ _envops: variable_start_string: "{{" variable_end_string: "}}" keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/{{ name }}/.dockerignore b/microservice/python/skeleton/{{ name }}/.dockerignore similarity index 100% rename from microservice/{{ name }}/.dockerignore rename to microservice/python/skeleton/{{ name }}/.dockerignore diff --git a/microservice/{{ name }}/Dockerfile b/microservice/python/skeleton/{{ name }}/Dockerfile similarity index 93% rename from microservice/{{ name }}/Dockerfile rename to microservice/python/skeleton/{{ name }}/Dockerfile index e86df5d..c38974d 100644 --- a/microservice/{{ name }}/Dockerfile +++ b/microservice/python/skeleton/{{ name }}/Dockerfile @@ -12,6 +12,6 @@ RUN poetry build --format wheel FROM python:3.9-slim as production COPY --from=build /microservice/dist/ ./dist RUN pip install --no-deps ./dist/* -COPY ./config.yml ./config.yml +COPY config.yml.jinja ./config.yml ENTRYPOINT ["microservice"] CMD ["start"] diff --git a/microservice/{{ name }}/Makefile b/microservice/python/skeleton/{{ name }}/Makefile similarity index 100% rename from microservice/{{ name }}/Makefile rename to microservice/python/skeleton/{{ name }}/Makefile diff --git a/microservice/python/skeleton/{{ name }}/README.md.jinja b/microservice/python/skeleton/{{ name }}/README.md.jinja new file mode 100644 index 0000000..12d7dd3 --- /dev/null +++ b/microservice/python/skeleton/{{ name }}/README.md.jinja @@ -0,0 +1,4 @@ +# {{ name }} microservice + +## Description +{{ description }} diff --git a/microservice/python/skeleton/{{ name }}/config.yml.jinja b/microservice/python/skeleton/{{ name }}/config.yml.jinja new file mode 100644 index 0000000..a1425a8 --- /dev/null +++ b/microservice/python/skeleton/{{ name }}/config.yml.jinja @@ -0,0 +1,62 @@ +service: + name: {{ name }} + aggregate: src.aggregates.{{ aggregate }} + injections: + postgresql_pool: minos.common.PostgreSqlPool + command_broker: minos.networks.CommandBroker + command_reply_broker: minos.networks.CommandReplyBroker + event_broker: minos.networks.EventBroker + consumer: minos.networks.Consumer + dynamic_handler_pool: minos.networks.DynamicHandlerPool + repository: minos.common.PostgreSqlRepository + saga_manager: minos.saga.SagaManager + snapshot: minos.common.PostgreSqlSnapshot + discovery: minos.networks.DiscoveryConnector + services: + - minos.networks.ConsumerService + - minos.networks.CommandHandlerService + - minos.networks.CommandReplyHandlerService + - minos.networks.EventHandlerService + - minos.networks.RestService + - minos.networks.SnapshotService + - minos.networks.ProducerService + - minos.networks.PeriodicTaskSchedulerService +rest: + host: {{ rest_host }} + port: {{ rest_port }} +broker: + host: {{ broker_host }} + port: {{ broker_port }} + queue: + database: {{ name }}_db + user: {{ database_user }} + password: {{ database_password }} + host: {{ database_host }} + port: {{ database_port }} + records: 1000 + retry: 2 +repository: + database: {{ name }}_db + user: {{ database_user }} + password: {{ database_password }} + host: {{ database_host }} + port: {{ database_port }} +snapshot: + database: {{ name }}_db + user: {{ database_user }} + password: {{ database_password }} + host: {{ database_host }} + port: {{ database_port }} +events: + service: src.queries.{{ aggregate }}QueryService +queries: + service: src.queries.{{ aggregate }}QueryService +commands: + service: src.commands.{{ aggregate }}CommandService +saga: + storage: + path: ./{{ name }}.lmdb +discovery: + client: minos.networks.MinosDiscoveryClient + host: localhost + port: 5567 diff --git a/microservice/{{ name }}/setup.cfg b/microservice/python/skeleton/{{ name }}/setup.cfg similarity index 100% rename from microservice/{{ name }}/setup.cfg rename to microservice/python/skeleton/{{ name }}/setup.cfg diff --git a/microservice/{{ name }}/src/__init__.py b/microservice/python/skeleton/{{ name }}/src/__init__.py.jinja similarity index 100% rename from microservice/{{ name }}/src/__init__.py rename to microservice/python/skeleton/{{ name }}/src/__init__.py.jinja diff --git a/microservice/{{ name }}/src/__main__.py b/microservice/python/skeleton/{{ name }}/src/__main__.py.jinja similarity index 100% rename from microservice/{{ name }}/src/__main__.py rename to microservice/python/skeleton/{{ name }}/src/__main__.py.jinja diff --git a/microservice/{{ name }}/src/aggregates.py b/microservice/python/skeleton/{{ name }}/src/aggregates.py.jinja similarity index 100% rename from microservice/{{ name }}/src/aggregates.py rename to microservice/python/skeleton/{{ name }}/src/aggregates.py.jinja diff --git a/microservice/{{ name }}/src/cli.py b/microservice/python/skeleton/{{ name }}/src/cli.py similarity index 100% rename from microservice/{{ name }}/src/cli.py rename to microservice/python/skeleton/{{ name }}/src/cli.py diff --git a/microservice/{{ name }}/src/commands/__init__.py b/microservice/python/skeleton/{{ name }}/src/commands/__init__.py.jinja similarity index 100% rename from microservice/{{ name }}/src/commands/__init__.py rename to microservice/python/skeleton/{{ name }}/src/commands/__init__.py.jinja diff --git a/microservice/{{ name }}/src/commands/services.py b/microservice/python/skeleton/{{ name }}/src/commands/services.py.jinja similarity index 100% rename from microservice/{{ name }}/src/commands/services.py rename to microservice/python/skeleton/{{ name }}/src/commands/services.py.jinja diff --git a/microservice/{{ name }}/src/queries/__init__.py b/microservice/python/skeleton/{{ name }}/src/queries/__init__.py.jinja similarity index 100% rename from microservice/{{ name }}/src/queries/__init__.py rename to microservice/python/skeleton/{{ name }}/src/queries/__init__.py.jinja diff --git a/microservice/{{ name }}/src/queries/services.py b/microservice/python/skeleton/{{ name }}/src/queries/services.py.jinja similarity index 100% rename from microservice/{{ name }}/src/queries/services.py rename to microservice/python/skeleton/{{ name }}/src/queries/services.py.jinja diff --git a/microservice/{{ name }}/tests/test_commands/__init__.py b/microservice/python/skeleton/{{ name }}/tests/__init__.py similarity index 100% rename from microservice/{{ name }}/tests/test_commands/__init__.py rename to microservice/python/skeleton/{{ name }}/tests/__init__.py diff --git a/microservice/{{ name }}/tests/test_aggregates.py b/microservice/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja similarity index 100% rename from microservice/{{ name }}/tests/test_aggregates.py rename to microservice/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja diff --git a/microservice/{{ name }}/tests/test_queries/__init__.py b/microservice/python/skeleton/{{ name }}/tests/test_commands/__init__.py similarity index 100% rename from microservice/{{ name }}/tests/test_queries/__init__.py rename to microservice/python/skeleton/{{ name }}/tests/test_commands/__init__.py diff --git a/microservice/{{ name }}/tests/test_commands/test_services.py b/microservice/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja similarity index 100% rename from microservice/{{ name }}/tests/test_commands/test_services.py rename to microservice/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/tests/test_queries/__init__.py b/microservice/python/skeleton/{{ name }}/tests/test_queries/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/microservice/{{ name }}/tests/test_queries/test_services.py b/microservice/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja similarity index 100% rename from microservice/{{ name }}/tests/test_queries/test_services.py rename to microservice/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja diff --git a/microservice/{{ name }}/tests/utils.py b/microservice/python/skeleton/{{ name }}/tests/utils.py similarity index 100% rename from microservice/{{ name }}/tests/utils.py rename to microservice/python/skeleton/{{ name }}/tests/utils.py diff --git a/microservice/{{ name }}/README.md b/microservice/{{ name }}/README.md deleted file mode 100644 index 34155fc..0000000 --- a/microservice/{{ name }}/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# {{ cookiecutter.name }} microservice - -## Description -{{ cookiecutter.description }} diff --git a/microservice/{{ name }}/config.yml b/microservice/{{ name }}/config.yml deleted file mode 100644 index ec630cd..0000000 --- a/microservice/{{ name }}/config.yml +++ /dev/null @@ -1,62 +0,0 @@ -service: - name: {{ cookiecutter.name }} - aggregate: src.aggregates.{{ cookiecutter.aggregate }} - injections: - postgresql_pool: minos.common.PostgreSqlPool - command_broker: minos.networks.CommandBroker - command_reply_broker: minos.networks.CommandReplyBroker - event_broker: minos.networks.EventBroker - consumer: minos.networks.Consumer - dynamic_handler_pool: minos.networks.DynamicHandlerPool - repository: minos.common.PostgreSqlRepository - saga_manager: minos.saga.SagaManager - snapshot: minos.common.PostgreSqlSnapshot - discovery: minos.networks.DiscoveryConnector - services: - - minos.networks.ConsumerService - - minos.networks.CommandHandlerService - - minos.networks.CommandReplyHandlerService - - minos.networks.EventHandlerService - - minos.networks.RestService - - minos.networks.SnapshotService - - minos.networks.ProducerService - - minos.networks.PeriodicTaskSchedulerService -rest: - host: {{ cookiecutter.rest_host }} - port: {{ cookiecutter.rest_port }} -broker: - host: {{ cookiecutter.broker_host }} - port: {{ cookiecutter.broker_port }} - queue: - database: {{ cookiecutter.name }}_db - user: {{ cookiecutter.database_user }} - password: {{ cookiecutter.database_password }} - host: {{ cookiecutter.database_host }} - port: {{ cookiecutter.database_port }} - records: 1000 - retry: 2 -repository: - database: {{ cookiecutter.name }}_db - user: {{ cookiecutter.database_user }} - password: {{ cookiecutter.database_password }} - host: {{ cookiecutter.database_host }} - port: {{ cookiecutter.database_port }} -snapshot: - database: {{ cookiecutter.name }}_db - user: {{ cookiecutter.database_user }} - password: {{ cookiecutter.database_password }} - host: {{ cookiecutter.database_host }} - port: {{ cookiecutter.database_port }} -events: - service: src.queries.{{ cookiecutter.aggregate }}QueryService -queries: - service: src.queries.{{ cookiecutter.aggregate }}QueryService -commands: - service: src.commands.{{ cookiecutter.aggregate }}CommandService -saga: - storage: - path: ./{{ cookiecutter.name }}.lmdb -discovery: - client: minos.networks.MinosDiscoveryClient - host: localhost - port: 5567 From a59a329122c58909b3ffb6511c0751d03e55718a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Fri, 3 Dec 2021 09:43:10 +0100 Subject: [PATCH 02/89] ISSUE #1 * Integrate template changes on the releasing pipeline --- .github/workflows/template-publish.yml | 15 ++++++++++++--- microservice/python/skeleton/copier.yml | 8 ++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 3e4b29a..7b87799 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -9,8 +9,14 @@ jobs: - name: Check out repository code uses: actions/checkout@v2 - - name: Build Microservice Init Template - run: tar -czvf microservice-init.tar.gz -C ${{ github.workspace }}/microservice . + - name: Build Microservice Python Skeleton Template + run: tar -czvf microservice-python-skeleton.tar.gz -C ${{ github.workspace }}/microservice/python/skeleton . + + - name: Build Microservice Python Package Manager Poetry Template + run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/python/package-manager/poetry . + + - name: Build Microservice Python Package Manager Poetry Template + run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/python/package-manager/pip . - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project . @@ -19,7 +25,10 @@ jobs: uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: + prerelease: true files: | - microservice-init.tar.gz + microservice-python-skeleton.tar.gz + microservice-python-package-manager-poetry.tar.gz + microservice-python-package-manager-pip.tar.gz project-init.tar.gz diff --git a/microservice/python/skeleton/copier.yml b/microservice/python/skeleton/copier.yml index 411c36b..2d66cb3 100644 --- a/microservice/python/skeleton/copier.yml +++ b/microservice/python/skeleton/copier.yml @@ -61,6 +61,14 @@ discovery: - minos - kong help: What is the discovery? [ TODO ] +package_manager: + type: str + link: true + help: What package manager do you want to use? + choices: + poetry: &poetry_url {{ template_root }}/microservice-python-package-manager-poetry.tar.gz + pip: {{ template_root }}/microservice-python-package-manager-pip.tar.gz + default: *poetry_url _envops: block_start_string: "{%" From 72e312213717cb8ccbff6e9df16707624c65233f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Fri, 3 Dec 2021 09:57:14 +0100 Subject: [PATCH 03/89] ISSUE #1 * Fix minor bug on template. --- microservice/python/skeleton/copier.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microservice/python/skeleton/copier.yml b/microservice/python/skeleton/copier.yml index 2d66cb3..7b24825 100644 --- a/microservice/python/skeleton/copier.yml +++ b/microservice/python/skeleton/copier.yml @@ -66,8 +66,8 @@ package_manager: link: true help: What package manager do you want to use? choices: - poetry: &poetry_url {{ template_root }}/microservice-python-package-manager-poetry.tar.gz - pip: {{ template_root }}/microservice-python-package-manager-pip.tar.gz + poetry: &poetry_url "{{ template_root }}/microservice-python-package-manager-poetry.tar.gz" + pip: "{{ template_root }}/microservice-python-package-manager-pip.tar.gz" default: *poetry_url _envops: From ab151ac547f8e3cafb8e9a246daf0e534e60e4a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Fri, 3 Dec 2021 12:34:22 +0100 Subject: [PATCH 04/89] ISSUE #1 * Improve structure and add microservice init. --- .github/workflows/template-publish.yml | 12 +++++++---- microservice/init/copier.yml | 21 +++++++++++++++++++ .../{{ name }}/README.md.jinja | 0 .../python/package-manager/pip/copier.yml | 0 .../pip/{{ name }}/requirements.txt | 0 .../package-manager/pip/{{ name }}/setup.py | 0 .../python/package-manager/poetry/copier.yml | 0 .../poetry/{{ name }}/poetry.toml.jinja | 0 .../poetry/{{ name }}/pyproject.toml.jinja | 0 .../python/skeleton/copier.yml | 0 .../python/skeleton/{{ name }}/.dockerignore | 0 .../python/skeleton/{{ name }}/Dockerfile | 0 .../python/skeleton/{{ name }}/Makefile | 0 .../skeleton/{{ name }}/config.yml.jinja | 0 .../python/skeleton/{{ name }}/setup.cfg | 0 .../skeleton/{{ name }}/src/__init__.py.jinja | 0 .../skeleton/{{ name }}/src/__main__.py.jinja | 0 .../{{ name }}/src/aggregates.py.jinja | 0 .../python/skeleton/{{ name }}/src/cli.py | 0 .../{{ name }}/src/commands/__init__.py.jinja | 0 .../{{ name }}/src/commands/services.py.jinja | 0 .../{{ name }}/src/queries/__init__.py.jinja | 0 .../{{ name }}/src/queries/services.py.jinja | 0 .../skeleton/{{ name }}/tests/__init__.py | 0 .../{{ name }}/tests/test_aggregates.py.jinja | 0 .../tests/test_commands/__init__.py | 0 .../test_commands/test_services.py.jinja | 0 .../{{ name }}/tests/test_queries/__init__.py | 0 .../tests/test_queries/test_services.py.jinja | 0 .../python/skeleton/{{ name }}/tests/utils.py | 0 project/{ => init}/Makefile | 0 project/{ => init}/copier.yml | 0 32 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 microservice/init/copier.yml rename microservice/{python/skeleton => init}/{{ name }}/README.md.jinja (100%) rename microservice/{ => languages}/python/package-manager/pip/copier.yml (100%) rename microservice/{ => languages}/python/package-manager/pip/{{ name }}/requirements.txt (100%) rename microservice/{ => languages}/python/package-manager/pip/{{ name }}/setup.py (100%) rename microservice/{ => languages}/python/package-manager/poetry/copier.yml (100%) rename microservice/{ => languages}/python/package-manager/poetry/{{ name }}/poetry.toml.jinja (100%) rename microservice/{ => languages}/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja (100%) rename microservice/{ => languages}/python/skeleton/copier.yml (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/.dockerignore (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/Dockerfile (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/Makefile (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/config.yml.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/setup.cfg (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/__init__.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/__main__.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/aggregates.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/cli.py (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/commands/__init__.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/commands/services.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/queries/__init__.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/src/queries/services.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/__init__.py (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/test_commands/__init__.py (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/test_queries/__init__.py (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja (100%) rename microservice/{ => languages}/python/skeleton/{{ name }}/tests/utils.py (100%) rename project/{ => init}/Makefile (100%) rename project/{ => init}/copier.yml (100%) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 7b87799..71df89f 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -9,17 +9,20 @@ jobs: - name: Check out repository code uses: actions/checkout@v2 + - name: Build Microservice Initi Template + run: tar -czvf microservice-init.tar.gz -C ${{ github.workspace }}/microservice/init . + - name: Build Microservice Python Skeleton Template - run: tar -czvf microservice-python-skeleton.tar.gz -C ${{ github.workspace }}/microservice/python/skeleton . + run: tar -czvf microservice-python-skeleton.tar.gz -C ${{ github.workspace }}/microservice/languages/python/skeleton . - name: Build Microservice Python Package Manager Poetry Template - run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/python/package-manager/poetry . + run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/languages/python/package-manager/poetry . - name: Build Microservice Python Package Manager Poetry Template - run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/python/package-manager/pip . + run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/languages/python/package-manager/pip . - name: Build Project Init Template - run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project . + run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . - name: Release uses: softprops/action-gh-release@v1 @@ -27,6 +30,7 @@ jobs: with: prerelease: true files: | + microservice-init.tar.gz microservice-python-skeleton.tar.gz microservice-python-package-manager-poetry.tar.gz microservice-python-package-manager-pip.tar.gz diff --git a/microservice/init/copier.yml b/microservice/init/copier.yml new file mode 100644 index 0000000..45687aa --- /dev/null +++ b/microservice/init/copier.yml @@ -0,0 +1,21 @@ +name: + type: str + help: What is the name of the microservice? +languaje: + type: str + link: true + help: What programming language do you want to use? + choices: + python: &python_url "{{ template_root }}/microservice-python-skeleton.tar.gz" + default: *python_url + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/python/skeleton/{{ name }}/README.md.jinja b/microservice/init/{{ name }}/README.md.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/README.md.jinja rename to microservice/init/{{ name }}/README.md.jinja diff --git a/microservice/python/package-manager/pip/copier.yml b/microservice/languages/python/package-manager/pip/copier.yml similarity index 100% rename from microservice/python/package-manager/pip/copier.yml rename to microservice/languages/python/package-manager/pip/copier.yml diff --git a/microservice/python/package-manager/pip/{{ name }}/requirements.txt b/microservice/languages/python/package-manager/pip/{{ name }}/requirements.txt similarity index 100% rename from microservice/python/package-manager/pip/{{ name }}/requirements.txt rename to microservice/languages/python/package-manager/pip/{{ name }}/requirements.txt diff --git a/microservice/python/package-manager/pip/{{ name }}/setup.py b/microservice/languages/python/package-manager/pip/{{ name }}/setup.py similarity index 100% rename from microservice/python/package-manager/pip/{{ name }}/setup.py rename to microservice/languages/python/package-manager/pip/{{ name }}/setup.py diff --git a/microservice/python/package-manager/poetry/copier.yml b/microservice/languages/python/package-manager/poetry/copier.yml similarity index 100% rename from microservice/python/package-manager/poetry/copier.yml rename to microservice/languages/python/package-manager/poetry/copier.yml diff --git a/microservice/python/package-manager/poetry/{{ name }}/poetry.toml.jinja b/microservice/languages/python/package-manager/poetry/{{ name }}/poetry.toml.jinja similarity index 100% rename from microservice/python/package-manager/poetry/{{ name }}/poetry.toml.jinja rename to microservice/languages/python/package-manager/poetry/{{ name }}/poetry.toml.jinja diff --git a/microservice/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja b/microservice/languages/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja similarity index 100% rename from microservice/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja rename to microservice/languages/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja diff --git a/microservice/python/skeleton/copier.yml b/microservice/languages/python/skeleton/copier.yml similarity index 100% rename from microservice/python/skeleton/copier.yml rename to microservice/languages/python/skeleton/copier.yml diff --git a/microservice/python/skeleton/{{ name }}/.dockerignore b/microservice/languages/python/skeleton/{{ name }}/.dockerignore similarity index 100% rename from microservice/python/skeleton/{{ name }}/.dockerignore rename to microservice/languages/python/skeleton/{{ name }}/.dockerignore diff --git a/microservice/python/skeleton/{{ name }}/Dockerfile b/microservice/languages/python/skeleton/{{ name }}/Dockerfile similarity index 100% rename from microservice/python/skeleton/{{ name }}/Dockerfile rename to microservice/languages/python/skeleton/{{ name }}/Dockerfile diff --git a/microservice/python/skeleton/{{ name }}/Makefile b/microservice/languages/python/skeleton/{{ name }}/Makefile similarity index 100% rename from microservice/python/skeleton/{{ name }}/Makefile rename to microservice/languages/python/skeleton/{{ name }}/Makefile diff --git a/microservice/python/skeleton/{{ name }}/config.yml.jinja b/microservice/languages/python/skeleton/{{ name }}/config.yml.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/config.yml.jinja rename to microservice/languages/python/skeleton/{{ name }}/config.yml.jinja diff --git a/microservice/python/skeleton/{{ name }}/setup.cfg b/microservice/languages/python/skeleton/{{ name }}/setup.cfg similarity index 100% rename from microservice/python/skeleton/{{ name }}/setup.cfg rename to microservice/languages/python/skeleton/{{ name }}/setup.cfg diff --git a/microservice/python/skeleton/{{ name }}/src/__init__.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/__init__.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/__init__.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/__init__.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/src/__main__.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/__main__.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/__main__.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/__main__.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/src/aggregates.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/aggregates.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/aggregates.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/aggregates.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/src/cli.py b/microservice/languages/python/skeleton/{{ name }}/src/cli.py similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/cli.py rename to microservice/languages/python/skeleton/{{ name }}/src/cli.py diff --git a/microservice/python/skeleton/{{ name }}/src/commands/__init__.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/commands/__init__.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/commands/__init__.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/commands/__init__.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/src/commands/services.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/commands/services.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/commands/services.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/commands/services.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/src/queries/__init__.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/queries/__init__.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/queries/__init__.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/queries/__init__.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/src/queries/services.py.jinja b/microservice/languages/python/skeleton/{{ name }}/src/queries/services.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/src/queries/services.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/src/queries/services.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/tests/__init__.py b/microservice/languages/python/skeleton/{{ name }}/tests/__init__.py similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/__init__.py rename to microservice/languages/python/skeleton/{{ name }}/tests/__init__.py diff --git a/microservice/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja b/microservice/languages/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/tests/test_commands/__init__.py b/microservice/languages/python/skeleton/{{ name }}/tests/test_commands/__init__.py similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/test_commands/__init__.py rename to microservice/languages/python/skeleton/{{ name }}/tests/test_commands/__init__.py diff --git a/microservice/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja b/microservice/languages/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/tests/test_queries/__init__.py b/microservice/languages/python/skeleton/{{ name }}/tests/test_queries/__init__.py similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/test_queries/__init__.py rename to microservice/languages/python/skeleton/{{ name }}/tests/test_queries/__init__.py diff --git a/microservice/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja b/microservice/languages/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja rename to microservice/languages/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja diff --git a/microservice/python/skeleton/{{ name }}/tests/utils.py b/microservice/languages/python/skeleton/{{ name }}/tests/utils.py similarity index 100% rename from microservice/python/skeleton/{{ name }}/tests/utils.py rename to microservice/languages/python/skeleton/{{ name }}/tests/utils.py diff --git a/project/Makefile b/project/init/Makefile similarity index 100% rename from project/Makefile rename to project/init/Makefile diff --git a/project/copier.yml b/project/init/copier.yml similarity index 100% rename from project/copier.yml rename to project/init/copier.yml From ddfa9aa909cc295615bffd40acbe67a7d0337bac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 14:49:59 +0100 Subject: [PATCH 05/89] ISSUE #1 * Remove the `{{ name }}` directory level. --- microservice/init/{{{ name }} => }/README.md.jinja | 0 .../python/package-manager/pip/{{{ name }} => }/requirements.txt | 0 .../python/package-manager/pip/{{{ name }} => }/setup.py | 0 .../package-manager/poetry/{{{ name }} => }/poetry.toml.jinja | 0 .../package-manager/poetry/{{{ name }} => }/pyproject.toml.jinja | 0 .../languages/python/skeleton/{{{ name }} => }/.dockerignore | 0 .../languages/python/skeleton/{{{ name }} => }/Dockerfile | 0 microservice/languages/python/skeleton/{{{ name }} => }/Makefile | 0 .../languages/python/skeleton/{{{ name }} => }/config.yml.jinja | 0 microservice/languages/python/skeleton/{{{ name }} => }/setup.cfg | 0 .../python/skeleton/{{{ name }} => }/src/__init__.py.jinja | 0 .../python/skeleton/{{{ name }} => }/src/__main__.py.jinja | 0 .../python/skeleton/{{{ name }} => }/src/aggregates.py.jinja | 0 .../languages/python/skeleton/{{{ name }} => }/src/cli.py | 0 .../skeleton/{{{ name }} => }/src/commands/__init__.py.jinja | 0 .../skeleton/{{{ name }} => }/src/commands/services.py.jinja | 0 .../skeleton/{{{ name }} => }/src/queries/__init__.py.jinja | 0 .../skeleton/{{{ name }} => }/src/queries/services.py.jinja | 0 .../languages/python/skeleton/{{{ name }} => }/tests/__init__.py | 0 .../skeleton/{{{ name }} => }/tests/test_aggregates.py.jinja | 0 .../skeleton/{{{ name }} => }/tests/test_commands/__init__.py | 0 .../{{{ name }} => }/tests/test_commands/test_services.py.jinja | 0 .../skeleton/{{{ name }} => }/tests/test_queries/__init__.py | 0 .../{{{ name }} => }/tests/test_queries/test_services.py.jinja | 0 .../languages/python/skeleton/{{{ name }} => }/tests/utils.py | 0 25 files changed, 0 insertions(+), 0 deletions(-) rename microservice/init/{{{ name }} => }/README.md.jinja (100%) rename microservice/languages/python/package-manager/pip/{{{ name }} => }/requirements.txt (100%) rename microservice/languages/python/package-manager/pip/{{{ name }} => }/setup.py (100%) rename microservice/languages/python/package-manager/poetry/{{{ name }} => }/poetry.toml.jinja (100%) rename microservice/languages/python/package-manager/poetry/{{{ name }} => }/pyproject.toml.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/.dockerignore (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/Dockerfile (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/Makefile (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/config.yml.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/setup.cfg (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/__init__.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/__main__.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/aggregates.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/cli.py (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/commands/__init__.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/commands/services.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/queries/__init__.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/src/queries/services.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/__init__.py (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/test_aggregates.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/test_commands/__init__.py (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/test_commands/test_services.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/test_queries/__init__.py (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/test_queries/test_services.py.jinja (100%) rename microservice/languages/python/skeleton/{{{ name }} => }/tests/utils.py (100%) diff --git a/microservice/init/{{ name }}/README.md.jinja b/microservice/init/README.md.jinja similarity index 100% rename from microservice/init/{{ name }}/README.md.jinja rename to microservice/init/README.md.jinja diff --git a/microservice/languages/python/package-manager/pip/{{ name }}/requirements.txt b/microservice/languages/python/package-manager/pip/requirements.txt similarity index 100% rename from microservice/languages/python/package-manager/pip/{{ name }}/requirements.txt rename to microservice/languages/python/package-manager/pip/requirements.txt diff --git a/microservice/languages/python/package-manager/pip/{{ name }}/setup.py b/microservice/languages/python/package-manager/pip/setup.py similarity index 100% rename from microservice/languages/python/package-manager/pip/{{ name }}/setup.py rename to microservice/languages/python/package-manager/pip/setup.py diff --git a/microservice/languages/python/package-manager/poetry/{{ name }}/poetry.toml.jinja b/microservice/languages/python/package-manager/poetry/poetry.toml.jinja similarity index 100% rename from microservice/languages/python/package-manager/poetry/{{ name }}/poetry.toml.jinja rename to microservice/languages/python/package-manager/poetry/poetry.toml.jinja diff --git a/microservice/languages/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja b/microservice/languages/python/package-manager/poetry/pyproject.toml.jinja similarity index 100% rename from microservice/languages/python/package-manager/poetry/{{ name }}/pyproject.toml.jinja rename to microservice/languages/python/package-manager/poetry/pyproject.toml.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/.dockerignore b/microservice/languages/python/skeleton/.dockerignore similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/.dockerignore rename to microservice/languages/python/skeleton/.dockerignore diff --git a/microservice/languages/python/skeleton/{{ name }}/Dockerfile b/microservice/languages/python/skeleton/Dockerfile similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/Dockerfile rename to microservice/languages/python/skeleton/Dockerfile diff --git a/microservice/languages/python/skeleton/{{ name }}/Makefile b/microservice/languages/python/skeleton/Makefile similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/Makefile rename to microservice/languages/python/skeleton/Makefile diff --git a/microservice/languages/python/skeleton/{{ name }}/config.yml.jinja b/microservice/languages/python/skeleton/config.yml.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/config.yml.jinja rename to microservice/languages/python/skeleton/config.yml.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/setup.cfg b/microservice/languages/python/skeleton/setup.cfg similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/setup.cfg rename to microservice/languages/python/skeleton/setup.cfg diff --git a/microservice/languages/python/skeleton/{{ name }}/src/__init__.py.jinja b/microservice/languages/python/skeleton/src/__init__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/__init__.py.jinja rename to microservice/languages/python/skeleton/src/__init__.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/src/__main__.py.jinja b/microservice/languages/python/skeleton/src/__main__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/__main__.py.jinja rename to microservice/languages/python/skeleton/src/__main__.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/src/aggregates.py.jinja b/microservice/languages/python/skeleton/src/aggregates.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/aggregates.py.jinja rename to microservice/languages/python/skeleton/src/aggregates.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/src/cli.py b/microservice/languages/python/skeleton/src/cli.py similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/cli.py rename to microservice/languages/python/skeleton/src/cli.py diff --git a/microservice/languages/python/skeleton/{{ name }}/src/commands/__init__.py.jinja b/microservice/languages/python/skeleton/src/commands/__init__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/commands/__init__.py.jinja rename to microservice/languages/python/skeleton/src/commands/__init__.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/src/commands/services.py.jinja b/microservice/languages/python/skeleton/src/commands/services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/commands/services.py.jinja rename to microservice/languages/python/skeleton/src/commands/services.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/src/queries/__init__.py.jinja b/microservice/languages/python/skeleton/src/queries/__init__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/queries/__init__.py.jinja rename to microservice/languages/python/skeleton/src/queries/__init__.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/src/queries/services.py.jinja b/microservice/languages/python/skeleton/src/queries/services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/src/queries/services.py.jinja rename to microservice/languages/python/skeleton/src/queries/services.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/__init__.py b/microservice/languages/python/skeleton/tests/__init__.py similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/__init__.py rename to microservice/languages/python/skeleton/tests/__init__.py diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja b/microservice/languages/python/skeleton/tests/test_aggregates.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/test_aggregates.py.jinja rename to microservice/languages/python/skeleton/tests/test_aggregates.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/test_commands/__init__.py b/microservice/languages/python/skeleton/tests/test_commands/__init__.py similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/test_commands/__init__.py rename to microservice/languages/python/skeleton/tests/test_commands/__init__.py diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja b/microservice/languages/python/skeleton/tests/test_commands/test_services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/test_commands/test_services.py.jinja rename to microservice/languages/python/skeleton/tests/test_commands/test_services.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/test_queries/__init__.py b/microservice/languages/python/skeleton/tests/test_queries/__init__.py similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/test_queries/__init__.py rename to microservice/languages/python/skeleton/tests/test_queries/__init__.py diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja b/microservice/languages/python/skeleton/tests/test_queries/test_services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/test_queries/test_services.py.jinja rename to microservice/languages/python/skeleton/tests/test_queries/test_services.py.jinja diff --git a/microservice/languages/python/skeleton/{{ name }}/tests/utils.py b/microservice/languages/python/skeleton/tests/utils.py similarity index 100% rename from microservice/languages/python/skeleton/{{ name }}/tests/utils.py rename to microservice/languages/python/skeleton/tests/utils.py From 0ebc1c3b868cd781da34f8ba8a4230f8cfaec4ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 15:30:30 +0100 Subject: [PATCH 06/89] ISSUE #1 * Rename `languages` as `language`. --- .github/workflows/template-publish.yml | 6 +++--- .../python/package-manager/pip/copier.yml | 0 .../python/package-manager/pip/requirements.txt | 0 .../python/package-manager/pip/setup.py | 0 .../python/package-manager/poetry/copier.yml | 0 .../python/package-manager/poetry/poetry.toml.jinja | 0 .../python/package-manager/poetry/pyproject.toml.jinja | 0 .../{languages => language}/python/skeleton/.dockerignore | 0 .../{languages => language}/python/skeleton/Dockerfile | 0 .../{languages => language}/python/skeleton/Makefile | 0 .../python/skeleton/config.yml.jinja | 0 .../{languages => language}/python/skeleton/copier.yml | 0 .../{languages => language}/python/skeleton/setup.cfg | 0 .../python/skeleton/src/__init__.py.jinja | 0 .../python/skeleton/src/__main__.py.jinja | 0 .../python/skeleton/src/aggregates.py.jinja | 0 .../{languages => language}/python/skeleton/src/cli.py | 0 .../python/skeleton/src/commands/__init__.py.jinja | 0 .../python/skeleton/src/commands/services.py.jinja | 0 .../python/skeleton/src/queries/__init__.py.jinja | 0 .../python/skeleton/src/queries/services.py.jinja | 0 .../python/skeleton/tests/__init__.py | 0 .../python/skeleton/tests/test_aggregates.py.jinja | 0 .../python/skeleton/tests/test_commands/__init__.py | 0 .../skeleton/tests/test_commands/test_services.py.jinja | 0 .../python/skeleton/tests/test_queries/__init__.py | 0 .../skeleton/tests/test_queries/test_services.py.jinja | 0 .../{languages => language}/python/skeleton/tests/utils.py | 0 28 files changed, 3 insertions(+), 3 deletions(-) rename microservice/{languages => language}/python/package-manager/pip/copier.yml (100%) rename microservice/{languages => language}/python/package-manager/pip/requirements.txt (100%) rename microservice/{languages => language}/python/package-manager/pip/setup.py (100%) rename microservice/{languages => language}/python/package-manager/poetry/copier.yml (100%) rename microservice/{languages => language}/python/package-manager/poetry/poetry.toml.jinja (100%) rename microservice/{languages => language}/python/package-manager/poetry/pyproject.toml.jinja (100%) rename microservice/{languages => language}/python/skeleton/.dockerignore (100%) rename microservice/{languages => language}/python/skeleton/Dockerfile (100%) rename microservice/{languages => language}/python/skeleton/Makefile (100%) rename microservice/{languages => language}/python/skeleton/config.yml.jinja (100%) rename microservice/{languages => language}/python/skeleton/copier.yml (100%) rename microservice/{languages => language}/python/skeleton/setup.cfg (100%) rename microservice/{languages => language}/python/skeleton/src/__init__.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/src/__main__.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/src/aggregates.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/src/cli.py (100%) rename microservice/{languages => language}/python/skeleton/src/commands/__init__.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/src/commands/services.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/src/queries/__init__.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/src/queries/services.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/tests/__init__.py (100%) rename microservice/{languages => language}/python/skeleton/tests/test_aggregates.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/tests/test_commands/__init__.py (100%) rename microservice/{languages => language}/python/skeleton/tests/test_commands/test_services.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/tests/test_queries/__init__.py (100%) rename microservice/{languages => language}/python/skeleton/tests/test_queries/test_services.py.jinja (100%) rename microservice/{languages => language}/python/skeleton/tests/utils.py (100%) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 71df89f..1526f51 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -13,13 +13,13 @@ jobs: run: tar -czvf microservice-init.tar.gz -C ${{ github.workspace }}/microservice/init . - name: Build Microservice Python Skeleton Template - run: tar -czvf microservice-python-skeleton.tar.gz -C ${{ github.workspace }}/microservice/languages/python/skeleton . + run: tar -czvf microservice-python-skeleton.tar.gz -C ${{ github.workspace }}/microservice/language/python/skeleton . - name: Build Microservice Python Package Manager Poetry Template - run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/languages/python/package-manager/poetry . + run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/poetry . - name: Build Microservice Python Package Manager Poetry Template - run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/languages/python/package-manager/pip . + run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/pip . - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . diff --git a/microservice/languages/python/package-manager/pip/copier.yml b/microservice/language/python/package-manager/pip/copier.yml similarity index 100% rename from microservice/languages/python/package-manager/pip/copier.yml rename to microservice/language/python/package-manager/pip/copier.yml diff --git a/microservice/languages/python/package-manager/pip/requirements.txt b/microservice/language/python/package-manager/pip/requirements.txt similarity index 100% rename from microservice/languages/python/package-manager/pip/requirements.txt rename to microservice/language/python/package-manager/pip/requirements.txt diff --git a/microservice/languages/python/package-manager/pip/setup.py b/microservice/language/python/package-manager/pip/setup.py similarity index 100% rename from microservice/languages/python/package-manager/pip/setup.py rename to microservice/language/python/package-manager/pip/setup.py diff --git a/microservice/languages/python/package-manager/poetry/copier.yml b/microservice/language/python/package-manager/poetry/copier.yml similarity index 100% rename from microservice/languages/python/package-manager/poetry/copier.yml rename to microservice/language/python/package-manager/poetry/copier.yml diff --git a/microservice/languages/python/package-manager/poetry/poetry.toml.jinja b/microservice/language/python/package-manager/poetry/poetry.toml.jinja similarity index 100% rename from microservice/languages/python/package-manager/poetry/poetry.toml.jinja rename to microservice/language/python/package-manager/poetry/poetry.toml.jinja diff --git a/microservice/languages/python/package-manager/poetry/pyproject.toml.jinja b/microservice/language/python/package-manager/poetry/pyproject.toml.jinja similarity index 100% rename from microservice/languages/python/package-manager/poetry/pyproject.toml.jinja rename to microservice/language/python/package-manager/poetry/pyproject.toml.jinja diff --git a/microservice/languages/python/skeleton/.dockerignore b/microservice/language/python/skeleton/.dockerignore similarity index 100% rename from microservice/languages/python/skeleton/.dockerignore rename to microservice/language/python/skeleton/.dockerignore diff --git a/microservice/languages/python/skeleton/Dockerfile b/microservice/language/python/skeleton/Dockerfile similarity index 100% rename from microservice/languages/python/skeleton/Dockerfile rename to microservice/language/python/skeleton/Dockerfile diff --git a/microservice/languages/python/skeleton/Makefile b/microservice/language/python/skeleton/Makefile similarity index 100% rename from microservice/languages/python/skeleton/Makefile rename to microservice/language/python/skeleton/Makefile diff --git a/microservice/languages/python/skeleton/config.yml.jinja b/microservice/language/python/skeleton/config.yml.jinja similarity index 100% rename from microservice/languages/python/skeleton/config.yml.jinja rename to microservice/language/python/skeleton/config.yml.jinja diff --git a/microservice/languages/python/skeleton/copier.yml b/microservice/language/python/skeleton/copier.yml similarity index 100% rename from microservice/languages/python/skeleton/copier.yml rename to microservice/language/python/skeleton/copier.yml diff --git a/microservice/languages/python/skeleton/setup.cfg b/microservice/language/python/skeleton/setup.cfg similarity index 100% rename from microservice/languages/python/skeleton/setup.cfg rename to microservice/language/python/skeleton/setup.cfg diff --git a/microservice/languages/python/skeleton/src/__init__.py.jinja b/microservice/language/python/skeleton/src/__init__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/__init__.py.jinja rename to microservice/language/python/skeleton/src/__init__.py.jinja diff --git a/microservice/languages/python/skeleton/src/__main__.py.jinja b/microservice/language/python/skeleton/src/__main__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/__main__.py.jinja rename to microservice/language/python/skeleton/src/__main__.py.jinja diff --git a/microservice/languages/python/skeleton/src/aggregates.py.jinja b/microservice/language/python/skeleton/src/aggregates.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/aggregates.py.jinja rename to microservice/language/python/skeleton/src/aggregates.py.jinja diff --git a/microservice/languages/python/skeleton/src/cli.py b/microservice/language/python/skeleton/src/cli.py similarity index 100% rename from microservice/languages/python/skeleton/src/cli.py rename to microservice/language/python/skeleton/src/cli.py diff --git a/microservice/languages/python/skeleton/src/commands/__init__.py.jinja b/microservice/language/python/skeleton/src/commands/__init__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/commands/__init__.py.jinja rename to microservice/language/python/skeleton/src/commands/__init__.py.jinja diff --git a/microservice/languages/python/skeleton/src/commands/services.py.jinja b/microservice/language/python/skeleton/src/commands/services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/commands/services.py.jinja rename to microservice/language/python/skeleton/src/commands/services.py.jinja diff --git a/microservice/languages/python/skeleton/src/queries/__init__.py.jinja b/microservice/language/python/skeleton/src/queries/__init__.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/queries/__init__.py.jinja rename to microservice/language/python/skeleton/src/queries/__init__.py.jinja diff --git a/microservice/languages/python/skeleton/src/queries/services.py.jinja b/microservice/language/python/skeleton/src/queries/services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/src/queries/services.py.jinja rename to microservice/language/python/skeleton/src/queries/services.py.jinja diff --git a/microservice/languages/python/skeleton/tests/__init__.py b/microservice/language/python/skeleton/tests/__init__.py similarity index 100% rename from microservice/languages/python/skeleton/tests/__init__.py rename to microservice/language/python/skeleton/tests/__init__.py diff --git a/microservice/languages/python/skeleton/tests/test_aggregates.py.jinja b/microservice/language/python/skeleton/tests/test_aggregates.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/tests/test_aggregates.py.jinja rename to microservice/language/python/skeleton/tests/test_aggregates.py.jinja diff --git a/microservice/languages/python/skeleton/tests/test_commands/__init__.py b/microservice/language/python/skeleton/tests/test_commands/__init__.py similarity index 100% rename from microservice/languages/python/skeleton/tests/test_commands/__init__.py rename to microservice/language/python/skeleton/tests/test_commands/__init__.py diff --git a/microservice/languages/python/skeleton/tests/test_commands/test_services.py.jinja b/microservice/language/python/skeleton/tests/test_commands/test_services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/tests/test_commands/test_services.py.jinja rename to microservice/language/python/skeleton/tests/test_commands/test_services.py.jinja diff --git a/microservice/languages/python/skeleton/tests/test_queries/__init__.py b/microservice/language/python/skeleton/tests/test_queries/__init__.py similarity index 100% rename from microservice/languages/python/skeleton/tests/test_queries/__init__.py rename to microservice/language/python/skeleton/tests/test_queries/__init__.py diff --git a/microservice/languages/python/skeleton/tests/test_queries/test_services.py.jinja b/microservice/language/python/skeleton/tests/test_queries/test_services.py.jinja similarity index 100% rename from microservice/languages/python/skeleton/tests/test_queries/test_services.py.jinja rename to microservice/language/python/skeleton/tests/test_queries/test_services.py.jinja diff --git a/microservice/languages/python/skeleton/tests/utils.py b/microservice/language/python/skeleton/tests/utils.py similarity index 100% rename from microservice/languages/python/skeleton/tests/utils.py rename to microservice/language/python/skeleton/tests/utils.py From fd933e6206da4c96c0721b3aa545ef83d9611152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 15:30:50 +0100 Subject: [PATCH 07/89] ISSUE #1 * Minor improvement on `README.md` --- microservice/init/README.md.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice/init/README.md.jinja b/microservice/init/README.md.jinja index 12d7dd3..3bed09a 100644 --- a/microservice/init/README.md.jinja +++ b/microservice/init/README.md.jinja @@ -1,4 +1,4 @@ -# {{ name }} microservice +# {{ name }} Microservice ## Description {{ description }} From 97d6ef11b7dc5a95597280a8d0bb7b7657b22b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 16:25:33 +0100 Subject: [PATCH 08/89] ISSUE #1 * Minor improvements on microservice python skeleton. --- microservice/language/python/skeleton/copier.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/microservice/language/python/skeleton/copier.yml b/microservice/language/python/skeleton/copier.yml index 7b24825..ecde98e 100644 --- a/microservice/language/python/skeleton/copier.yml +++ b/microservice/language/python/skeleton/copier.yml @@ -11,9 +11,9 @@ aggregate: help: What is the name of the microservices's Aggregate? database: type: str - default: postgresql + default: postgres choices: - - postgresql + - postgres help: What is the database? [ TODO ] database_host: type: str @@ -32,16 +32,16 @@ database_password: default: min0s secret: true help: What is the database's password? -broker_host: - type: str - default: localhost - help: What is the broker's host? broker: type: str default: kafka choices: - kafka help: What is the broker? [ TODO ] +broker_host: + type: str + default: localhost + help: What is the broker's host? broker_port: type: str default: "9092" From 03478b17159bd280ec428446f909c78b654743e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 16:30:02 +0100 Subject: [PATCH 09/89] ISSUE #1 * Externalize docker file generation. --- .github/workflows/template-publish.yml | 6 +++++- .../docker}/.dockerignore | 0 .../{skeleton => containerization/docker}/Dockerfile | 0 .../language/python/containerization/docker/copier.yml | 10 ++++++++++ microservice/language/python/skeleton/copier.yml | 7 +++++++ 5 files changed, 22 insertions(+), 1 deletion(-) rename microservice/language/python/{skeleton => containerization/docker}/.dockerignore (100%) rename microservice/language/python/{skeleton => containerization/docker}/Dockerfile (100%) create mode 100644 microservice/language/python/containerization/docker/copier.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 1526f51..d5d431f 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -18,9 +18,12 @@ jobs: - name: Build Microservice Python Package Manager Poetry Template run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/poetry . - - name: Build Microservice Python Package Manager Poetry Template + - name: Build Microservice Python Package Manager Pip Template run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/pip . + - name: Build Microservice Python Deploy Docker Template + run: tar -czvf microservice-python-deploy-docker.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/docker . + - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . @@ -34,5 +37,6 @@ jobs: microservice-python-skeleton.tar.gz microservice-python-package-manager-poetry.tar.gz microservice-python-package-manager-pip.tar.gz + microservice-python-deploy-docker.tar.gz project-init.tar.gz diff --git a/microservice/language/python/skeleton/.dockerignore b/microservice/language/python/containerization/docker/.dockerignore similarity index 100% rename from microservice/language/python/skeleton/.dockerignore rename to microservice/language/python/containerization/docker/.dockerignore diff --git a/microservice/language/python/skeleton/Dockerfile b/microservice/language/python/containerization/docker/Dockerfile similarity index 100% rename from microservice/language/python/skeleton/Dockerfile rename to microservice/language/python/containerization/docker/Dockerfile diff --git a/microservice/language/python/containerization/docker/copier.yml b/microservice/language/python/containerization/docker/copier.yml new file mode 100644 index 0000000..f9cef0f --- /dev/null +++ b/microservice/language/python/containerization/docker/copier.yml @@ -0,0 +1,10 @@ +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/language/python/skeleton/copier.yml b/microservice/language/python/skeleton/copier.yml index ecde98e..b2be14c 100644 --- a/microservice/language/python/skeleton/copier.yml +++ b/microservice/language/python/skeleton/copier.yml @@ -69,6 +69,13 @@ package_manager: poetry: &poetry_url "{{ template_root }}/microservice-python-package-manager-poetry.tar.gz" pip: "{{ template_root }}/microservice-python-package-manager-pip.tar.gz" default: *poetry_url +deploy: + type: str + link: true + help: What deploy system do you want to use? + choices: + docker: &docker_url "{{ template_root }}/microservice-python-deploy-docker.tar.gz" + default: *docker_url _envops: block_start_string: "{%" From cb6c372c96ca3965227f46045e9dc4ed63ce9477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 16:32:09 +0100 Subject: [PATCH 10/89] ISSUE #1 * Rename directory. --- .../python/{containerization => deploy}/docker/.dockerignore | 0 .../python/{containerization => deploy}/docker/Dockerfile | 0 .../python/{containerization => deploy}/docker/copier.yml | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename microservice/language/python/{containerization => deploy}/docker/.dockerignore (100%) rename microservice/language/python/{containerization => deploy}/docker/Dockerfile (100%) rename microservice/language/python/{containerization => deploy}/docker/copier.yml (100%) diff --git a/microservice/language/python/containerization/docker/.dockerignore b/microservice/language/python/deploy/docker/.dockerignore similarity index 100% rename from microservice/language/python/containerization/docker/.dockerignore rename to microservice/language/python/deploy/docker/.dockerignore diff --git a/microservice/language/python/containerization/docker/Dockerfile b/microservice/language/python/deploy/docker/Dockerfile similarity index 100% rename from microservice/language/python/containerization/docker/Dockerfile rename to microservice/language/python/deploy/docker/Dockerfile diff --git a/microservice/language/python/containerization/docker/copier.yml b/microservice/language/python/deploy/docker/copier.yml similarity index 100% rename from microservice/language/python/containerization/docker/copier.yml rename to microservice/language/python/deploy/docker/copier.yml From 93b03a37461081af455fa5efad83779801ce8755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 17:18:03 +0100 Subject: [PATCH 11/89] ISSUE #1 * Fix bug. --- microservice/language/python/deploy/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice/language/python/deploy/docker/Dockerfile b/microservice/language/python/deploy/docker/Dockerfile index c38974d..2e5f79e 100644 --- a/microservice/language/python/deploy/docker/Dockerfile +++ b/microservice/language/python/deploy/docker/Dockerfile @@ -12,6 +12,6 @@ RUN poetry build --format wheel FROM python:3.9-slim as production COPY --from=build /microservice/dist/ ./dist RUN pip install --no-deps ./dist/* -COPY config.yml.jinja ./config.yml +COPY config.yml ./config.yml ENTRYPOINT ["microservice"] CMD ["start"] From 7def6f7b731fa8454ec830c31000214d39542990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 17:18:47 +0100 Subject: [PATCH 12/89] ISSUE #1 * Add `microservice-python-deploy-kubernetes` template. --- .github/workflows/template-publish.yml | 4 +++ .../python/deploy/kubernetes/Makefile.jinja | 4 +++ .../python/deploy/kubernetes/copier.yml | 31 +++++++++++++++++++ .../deploy/kubernetes/deploy/Dockerfile | 17 ++++++++++ .../kubernetes/deploy/deployment.yaml.jinja | 24 ++++++++++++++ .../kubernetes/deploy/service.yaml.jinja | 12 +++++++ .../language/python/skeleton/copier.yml | 1 + 7 files changed, 93 insertions(+) create mode 100644 microservice/language/python/deploy/kubernetes/Makefile.jinja create mode 100644 microservice/language/python/deploy/kubernetes/copier.yml create mode 100644 microservice/language/python/deploy/kubernetes/deploy/Dockerfile create mode 100644 microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja create mode 100644 microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index d5d431f..9683ab8 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -24,6 +24,9 @@ jobs: - name: Build Microservice Python Deploy Docker Template run: tar -czvf microservice-python-deploy-docker.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/docker . + - name: Build Microservice Python Deploy Kubernetes Template + run: tar -czvf microservice-python-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/kubernetes . + - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . @@ -38,5 +41,6 @@ jobs: microservice-python-package-manager-poetry.tar.gz microservice-python-package-manager-pip.tar.gz microservice-python-deploy-docker.tar.gz + microservice-python-deploy-kubernetes.tar.gz project-init.tar.gz diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja new file mode 100644 index 0000000..b552a50 --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -0,0 +1,4 @@ +build: + docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . + docker tag {{ project_name }}_{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} + docker push {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..1cfcde1 --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -0,0 +1,31 @@ +name: + type: str + help: What is the name of the microservice? +version: + type: str + help: What is the version of the microservice? +project_name: + type: str + help: What is the name of the project? +rest_port: + type: int + default: 8080 + help: What is the rest's port? +kubernetes_config: + type: str + default: microservices-config + help: What is the kubernetes config? +kubernetes_registry: + type: str + help: What is the kubernetes registry? + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/language/python/deploy/kubernetes/deploy/Dockerfile b/microservice/language/python/deploy/kubernetes/deploy/Dockerfile new file mode 100644 index 0000000..2e5f79e --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/deploy/Dockerfile @@ -0,0 +1,17 @@ +FROM ghcr.io/clariteia/minos-microservice:0.1.5 as development + +COPY ./pyproject.toml ./poetry.lock ./ +RUN poetry install --no-root +COPY . . +CMD ["poetry", "run", "microservice", "start"] + +FROM development as build +RUN poetry export --without-hashes > req.txt && pip wheel -r req.txt --wheel-dir ./dist +RUN poetry build --format wheel + +FROM python:3.9-slim as production +COPY --from=build /microservice/dist/ ./dist +RUN pip install --no-deps ./dist/* +COPY config.yml ./config.yml +ENTRYPOINT ["microservice"] +CMD ["start"] diff --git a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja new file mode 100644 index 0000000..2d827dd --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ project_name }}-{{ name }} + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: {{ project_name }}-{{ name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ project_name }}-{{ name }} + spec: + containers: + - name: {{ project_name }}-{{ name }} + image: {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: {{ rest_port }} + envFrom: + - configMapRef: + name: {{ kubernetes_config }} \ No newline at end of file diff --git a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja new file mode 100644 index 0000000..cb6174b --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ project_name }}-{{ name }} + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: {{ rest_port }} + targetPort: {{ rest_port }} + selector: + app.kubernetes.io/name: {{ project_name }}-{{ name }} \ No newline at end of file diff --git a/microservice/language/python/skeleton/copier.yml b/microservice/language/python/skeleton/copier.yml index b2be14c..abb3cdc 100644 --- a/microservice/language/python/skeleton/copier.yml +++ b/microservice/language/python/skeleton/copier.yml @@ -75,6 +75,7 @@ deploy: help: What deploy system do you want to use? choices: docker: &docker_url "{{ template_root }}/microservice-python-deploy-docker.tar.gz" + kubernetes: "{{ template_root }}/microservice-python-deploy-kubernetes.tar.gz" default: *docker_url _envops: From f414aee3f9e7aca37bcbcabb82e393377f47c9a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 13 Dec 2021 17:18:47 +0100 Subject: [PATCH 13/89] ISSUE #1 * Rename `template_root` as `template_registry`. --- .github/workflows/template-publish.yml | 4 +++ microservice/init/copier.yml | 2 +- .../python/deploy/kubernetes/Makefile.jinja | 4 +++ .../python/deploy/kubernetes/copier.yml | 31 +++++++++++++++++++ .../deploy/kubernetes/deploy/Dockerfile | 17 ++++++++++ .../kubernetes/deploy/deployment.yaml.jinja | 24 ++++++++++++++ .../kubernetes/deploy/service.yaml.jinja | 12 +++++++ .../language/python/skeleton/copier.yml | 7 +++-- 8 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 microservice/language/python/deploy/kubernetes/Makefile.jinja create mode 100644 microservice/language/python/deploy/kubernetes/copier.yml create mode 100644 microservice/language/python/deploy/kubernetes/deploy/Dockerfile create mode 100644 microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja create mode 100644 microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index d5d431f..9683ab8 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -24,6 +24,9 @@ jobs: - name: Build Microservice Python Deploy Docker Template run: tar -czvf microservice-python-deploy-docker.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/docker . + - name: Build Microservice Python Deploy Kubernetes Template + run: tar -czvf microservice-python-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/kubernetes . + - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . @@ -38,5 +41,6 @@ jobs: microservice-python-package-manager-poetry.tar.gz microservice-python-package-manager-pip.tar.gz microservice-python-deploy-docker.tar.gz + microservice-python-deploy-kubernetes.tar.gz project-init.tar.gz diff --git a/microservice/init/copier.yml b/microservice/init/copier.yml index 45687aa..d8f63b9 100644 --- a/microservice/init/copier.yml +++ b/microservice/init/copier.yml @@ -6,7 +6,7 @@ languaje: link: true help: What programming language do you want to use? choices: - python: &python_url "{{ template_root }}/microservice-python-skeleton.tar.gz" + python: &python_url "{{ template_registry }}/microservice-python-skeleton.tar.gz" default: *python_url _envops: diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja new file mode 100644 index 0000000..b552a50 --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -0,0 +1,4 @@ +build: + docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . + docker tag {{ project_name }}_{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} + docker push {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..1cfcde1 --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -0,0 +1,31 @@ +name: + type: str + help: What is the name of the microservice? +version: + type: str + help: What is the version of the microservice? +project_name: + type: str + help: What is the name of the project? +rest_port: + type: int + default: 8080 + help: What is the rest's port? +kubernetes_config: + type: str + default: microservices-config + help: What is the kubernetes config? +kubernetes_registry: + type: str + help: What is the kubernetes registry? + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/microservice/language/python/deploy/kubernetes/deploy/Dockerfile b/microservice/language/python/deploy/kubernetes/deploy/Dockerfile new file mode 100644 index 0000000..2e5f79e --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/deploy/Dockerfile @@ -0,0 +1,17 @@ +FROM ghcr.io/clariteia/minos-microservice:0.1.5 as development + +COPY ./pyproject.toml ./poetry.lock ./ +RUN poetry install --no-root +COPY . . +CMD ["poetry", "run", "microservice", "start"] + +FROM development as build +RUN poetry export --without-hashes > req.txt && pip wheel -r req.txt --wheel-dir ./dist +RUN poetry build --format wheel + +FROM python:3.9-slim as production +COPY --from=build /microservice/dist/ ./dist +RUN pip install --no-deps ./dist/* +COPY config.yml ./config.yml +ENTRYPOINT ["microservice"] +CMD ["start"] diff --git a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja new file mode 100644 index 0000000..2d827dd --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ project_name }}-{{ name }} + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: {{ project_name }}-{{ name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ project_name }}-{{ name }} + spec: + containers: + - name: {{ project_name }}-{{ name }} + image: {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: {{ rest_port }} + envFrom: + - configMapRef: + name: {{ kubernetes_config }} \ No newline at end of file diff --git a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja new file mode 100644 index 0000000..cb6174b --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ project_name }}-{{ name }} + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: {{ rest_port }} + targetPort: {{ rest_port }} + selector: + app.kubernetes.io/name: {{ project_name }}-{{ name }} \ No newline at end of file diff --git a/microservice/language/python/skeleton/copier.yml b/microservice/language/python/skeleton/copier.yml index b2be14c..9fc8433 100644 --- a/microservice/language/python/skeleton/copier.yml +++ b/microservice/language/python/skeleton/copier.yml @@ -66,15 +66,16 @@ package_manager: link: true help: What package manager do you want to use? choices: - poetry: &poetry_url "{{ template_root }}/microservice-python-package-manager-poetry.tar.gz" - pip: "{{ template_root }}/microservice-python-package-manager-pip.tar.gz" + poetry: &poetry_url "{{ template_registry }}/microservice-python-package-manager-poetry.tar.gz" + pip: "{{ template_registry }}/microservice-python-package-manager-pip.tar.gz" default: *poetry_url deploy: type: str link: true help: What deploy system do you want to use? choices: - docker: &docker_url "{{ template_root }}/microservice-python-deploy-docker.tar.gz" + docker: &docker_url "{{ template_registry }}/microservice-python-deploy-docker.tar.gz" + kubernetes: "{{ template_registry }}/microservice-python-deploy-kubernetes.tar.gz" default: *docker_url _envops: From a6f5ddb43a0ef356473fd3059876dcdc602f7abf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 14:27:47 +0100 Subject: [PATCH 14/89] ISSUE #1 * Include previous version of the same file. --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 2 ++ 1 file changed, 2 insertions(+) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index b552a50..6dcb610 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,3 +1,5 @@ +{% include destination + "/Makefile" ignore missing %} + build: docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . docker tag {{ project_name }}_{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} From bf15d69c43528645b4bca03a185187d5df62b7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 14:45:40 +0100 Subject: [PATCH 15/89] ISSUE #1 * Fix typo. --- microservice/init/copier.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice/init/copier.yml b/microservice/init/copier.yml index d8f63b9..098d674 100644 --- a/microservice/init/copier.yml +++ b/microservice/init/copier.yml @@ -1,7 +1,7 @@ name: type: str help: What is the name of the microservice? -languaje: +language: type: str link: true help: What programming language do you want to use? From a1fa74b4f94bffd266154e8d7a75a3845a826479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 14:51:30 +0100 Subject: [PATCH 16/89] ISSUE #1 * Minor improvements related with include. --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 6dcb610..104979c 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,4 +1,4 @@ -{% include destination + "/Makefile" ignore missing %} +{% include destination / "Makefile" %} build: docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . From 5a10f8d028c76034d3b901dc2a42842ce258d21b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 14:59:50 +0100 Subject: [PATCH 17/89] ISSUE #1 * Fix bug related with `Path` casting. --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 104979c..101300f 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,4 +1,4 @@ -{% include destination / "Makefile" %} +{% include str(destination / "Makefile") %} build: docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . From 6cba3f5bc38652704a5b52b812edb6d776cff839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 15:06:43 +0100 Subject: [PATCH 18/89] ISSUE #1 * Fix bug related with `Path` casting (2). --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 101300f..3b8a19f 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,4 +1,4 @@ -{% include str(destination / "Makefile") %} +{% include (destination / "Makefile").as_posix() %} build: docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . From 0e308ebf3cbf45a6ff0bb3d59359b154bd61c532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 16:34:07 +0100 Subject: [PATCH 19/89] ISSUE #1 * Add `.gitignore`. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b0b276 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Intellij IDEa / PyCharm / etc. +.idea +.run \ No newline at end of file From 69d341c29a0578974f6967aac6d8a543d2443f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 16:34:22 +0100 Subject: [PATCH 20/89] ISSUE #1 * Enrich `project-init` template. --- project/init/README.md.jinja | 4 ++++ project/init/copier.yml | 3 +++ project/init/external/README.md.jinja | 1 + project/init/front/README.md.jinja | 1 + project/init/microservices/README.md.jinja | 1 + 5 files changed, 10 insertions(+) create mode 100644 project/init/README.md.jinja create mode 100644 project/init/external/README.md.jinja create mode 100644 project/init/front/README.md.jinja create mode 100644 project/init/microservices/README.md.jinja diff --git a/project/init/README.md.jinja b/project/init/README.md.jinja new file mode 100644 index 0000000..d72ebdd --- /dev/null +++ b/project/init/README.md.jinja @@ -0,0 +1,4 @@ +# {{ name }} Project + +## Description +{{ description }} diff --git a/project/init/copier.yml b/project/init/copier.yml index 3339372..b6501f5 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -8,6 +8,7 @@ version: type: str help: What is the version of the project? default: 0.1.0 + _envops: block_start_string: "{%" block_end_string: "%}" @@ -16,3 +17,5 @@ _envops: variable_start_string: "{{" variable_end_string: "}}" keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/init/external/README.md.jinja b/project/init/external/README.md.jinja new file mode 100644 index 0000000..debc0a4 --- /dev/null +++ b/project/init/external/README.md.jinja @@ -0,0 +1 @@ +# {{ name }} - External \ No newline at end of file diff --git a/project/init/front/README.md.jinja b/project/init/front/README.md.jinja new file mode 100644 index 0000000..75704e3 --- /dev/null +++ b/project/init/front/README.md.jinja @@ -0,0 +1 @@ +# {{ name }} - Front \ No newline at end of file diff --git a/project/init/microservices/README.md.jinja b/project/init/microservices/README.md.jinja new file mode 100644 index 0000000..e1a2a2a --- /dev/null +++ b/project/init/microservices/README.md.jinja @@ -0,0 +1 @@ +# {{ name }} - Microservices \ No newline at end of file From 8e191597ee96a5685c3f7a4945035f9956a0d5d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 16:43:36 +0100 Subject: [PATCH 21/89] ISSUE #1 * Add `project-deploy-docker-compose`. --- .github/workflows/template-publish.yml | 4 + project/deploy/docker-compose/copier.yml | 11 +++ .../deploy/docker-compose/docker-compose.yml | 73 +++++++++++++++++++ project/init/copier.yml | 13 +++- 4 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 project/deploy/docker-compose/copier.yml create mode 100644 project/deploy/docker-compose/docker-compose.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 9683ab8..e8e4973 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -30,6 +30,9 @@ jobs: - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . + - name: Build Project Deploy Docker Compose Template + run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/microservice/project/deploy/docker-compose . + - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') @@ -43,4 +46,5 @@ jobs: microservice-python-deploy-docker.tar.gz microservice-python-deploy-kubernetes.tar.gz project-init.tar.gz + project-deploy-docker-compose.tar.gz diff --git a/project/deploy/docker-compose/copier.yml b/project/deploy/docker-compose/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/deploy/docker-compose/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/deploy/docker-compose/docker-compose.yml b/project/deploy/docker-compose/docker-compose.yml new file mode 100644 index 0000000..3ecce69 --- /dev/null +++ b/project/deploy/docker-compose/docker-compose.yml @@ -0,0 +1,73 @@ +version: "3.9" + +x-microservice-environment: µservice-environment + - MINOS_BROKER_QUEUE_HOST=postgres + - MINOS_BROKER_HOST=kafka + - MINOS_REPOSITORY_HOST=postgres + - MINOS_SNAPSHOT_HOST=postgres + - MINOS_DISCOVERY_HOST=discovery + +x-microservice-depends-on: µservice-depends-on + - postgres + - kafka + - discovery + +volumes: + postgres_volume: + kafka_volume: + +services: + zookeeper: + restart: always + image: wurstmeister/zookeeper:latest + + kafka: + restart: always + image: wurstmeister/kafka:latest + ports: + - "9092:9092" + depends_on: + - zookeeper + volumes: + - kafka_volume:/kafka + environment: + KAFKA_DELETE_TOPIC_ENABLE: "true" + KAFKA_ADVERTISED_HOST_NAME: kafka + KAFKA_ADVERTISED_PORT: 9092 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + + postgres: + restart: always + build: external/postgres + command: postgres -c 'max_connections=200' + ports: + - "5432:5432" + volumes: + - postgres_volume:/var/lib/postgresql + environment: + - POSTGRES_USER=minos + - POSTGRES_PASSWORD=min0s + + redis: + image: redis:latest + command: "redis-server" + + api-gateway: + restart: always + build: external/api_gateway + ports: + - "5566:5566" + environment: + - PYTHONPATH=/api_gateway + - DISCOVERY_SERVICE_HOST=discovery + - API_GATEWAY_DISCOVERY_HOST=discovery + depends_on: + - discovery + + discovery: + restart: always + build: external/discovery + environment: + - DISCOVERY_SERVICE_DB_HOST=redis + depends_on: + - redis \ No newline at end of file diff --git a/project/init/copier.yml b/project/init/copier.yml index b6501f5..6cacbba 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -1,13 +1,20 @@ -name: +project_name: type: str help: What is the name of the project? -description: +project_description: type: str help: What is the description of the project? -version: +project_version: type: str help: What is the version of the project? default: 0.1.0 +project_deploy: + type: str + link: true + help: What deploy system do you want to use? + choices: + docker_compose: &docker_compose "{{ template_registry }}/project-deploy-docker-compose.tar.gz" + default: *docker_compose _envops: block_start_string: "{%" From 904f13a0189c0cd60abd98fba67dce9a1073cb8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 16:45:34 +0100 Subject: [PATCH 22/89] ISSUE #1 * Fix minor bug. --- .github/workflows/template-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index e8e4973..ff0d1bb 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -31,7 +31,7 @@ jobs: run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . - name: Build Project Deploy Docker Compose Template - run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/microservice/project/deploy/docker-compose . + run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . - name: Release uses: softprops/action-gh-release@v1 From 8e1afe437399e263d9972111a7e4b669c4a247ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 17:21:00 +0100 Subject: [PATCH 23/89] ISSUE #1 * Add `project-api-gateway-minos` template. * Add `project-broker-kafka` template. * Add `project-database-postgres` template. * Add `project-database-redis` template. * Add `project-discovery-minos` template. --- .github/workflows/template-publish.yml | 20 +++++ project/api-gateway/minos/copier.yml | 11 +++ .../minos/docker-compose.yml.jinja | 13 ++++ .../minos/external/api_gateway/Dockerfile | 6 ++ .../minos/external/api_gateway/config.yml | 13 ++++ project/broker/kafka/copier.yml | 11 +++ project/broker/kafka/docker-compose.yml.jinja | 20 +++++ project/database/postgres/copier.yml | 11 +++ .../postgres/docker-compose.yml.jinja | 13 ++++ .../postgres/external/postgres/Dockerfile | 2 + .../create-multiple-postgresql-databases.sh | 22 ++++++ project/database/redis/copier.yml | 11 +++ .../database/redis/docker-compose.yml.jinja | 5 ++ .../deploy/docker-compose/docker-compose.yml | 73 ------------------- .../docker-compose/docker-compose.yml.jinja | 19 +++++ project/discovery/minos/copier.yml | 11 +++ .../discovery/minos/docker-compose.yml.jinja | 10 +++ .../minos/external/discovery/Dockerfile | 7 ++ .../minos/external/discovery/config.yml | 9 +++ project/init/copier.yml | 41 ++++++++++- 20 files changed, 253 insertions(+), 75 deletions(-) create mode 100644 project/api-gateway/minos/copier.yml create mode 100644 project/api-gateway/minos/docker-compose.yml.jinja create mode 100644 project/api-gateway/minos/external/api_gateway/Dockerfile create mode 100644 project/api-gateway/minos/external/api_gateway/config.yml create mode 100644 project/broker/kafka/copier.yml create mode 100644 project/broker/kafka/docker-compose.yml.jinja create mode 100644 project/database/postgres/copier.yml create mode 100644 project/database/postgres/docker-compose.yml.jinja create mode 100644 project/database/postgres/external/postgres/Dockerfile create mode 100644 project/database/postgres/external/postgres/create-multiple-postgresql-databases.sh create mode 100644 project/database/redis/copier.yml create mode 100644 project/database/redis/docker-compose.yml.jinja delete mode 100644 project/deploy/docker-compose/docker-compose.yml create mode 100644 project/deploy/docker-compose/docker-compose.yml.jinja create mode 100644 project/discovery/minos/copier.yml create mode 100644 project/discovery/minos/docker-compose.yml.jinja create mode 100644 project/discovery/minos/external/discovery/Dockerfile create mode 100644 project/discovery/minos/external/discovery/config.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index ff0d1bb..b3bf53c 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -30,9 +30,24 @@ jobs: - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . + - name: Build Project API Gateway Minos Template + run: tar -czvf project-api-gateway-minos.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos . + + - name: Build Project Broker Kafka Template + run: tar -czvf project-broker-kafka.tar.gz -C ${{ github.workspace }}/project/broker/kafka . + + - name: Build Project Database Postgres Template + run: tar -czvf project-database-postgres.tar.gz -C ${{ github.workspace }}/project/database/postgres . + + - name: Build Project Database Redis Template + run: tar -czvf project-database-redis.tar.gz -C ${{ github.workspace }}/project/database/redis . + - name: Build Project Deploy Docker Compose Template run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . + - name: Build Project Discovery Minos Template + run: tar -czvf project-discovery-minos.tar.gz -C ${{ github.workspace }}/project/discovery/minos . + - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') @@ -46,5 +61,10 @@ jobs: microservice-python-deploy-docker.tar.gz microservice-python-deploy-kubernetes.tar.gz project-init.tar.gz + project-api-gateway-minos.tar.gz + project-broker-kafka.tar.gz + project-database-postgres.tar.gz + project-database-redis.tar.gz project-deploy-docker-compose.tar.gz + project-discovery-minos.tar.gz diff --git a/project/api-gateway/minos/copier.yml b/project/api-gateway/minos/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/api-gateway/minos/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/api-gateway/minos/docker-compose.yml.jinja b/project/api-gateway/minos/docker-compose.yml.jinja new file mode 100644 index 0000000..38103ab --- /dev/null +++ b/project/api-gateway/minos/docker-compose.yml.jinja @@ -0,0 +1,13 @@ +{% include (destination / "docker-compose.yml").as_posix() %} + + api-gateway: + restart: always + build: external/api_gateway + ports: + - "5566:5566" + environment: + - PYTHONPATH=/api_gateway + - DISCOVERY_SERVICE_HOST=discovery + - API_GATEWAY_DISCOVERY_HOST=discovery + depends_on: + - discovery \ No newline at end of file diff --git a/project/api-gateway/minos/external/api_gateway/Dockerfile b/project/api-gateway/minos/external/api_gateway/Dockerfile new file mode 100644 index 0000000..9f4ee0a --- /dev/null +++ b/project/api-gateway/minos/external/api_gateway/Dockerfile @@ -0,0 +1,6 @@ +FROM python + +RUN pip install minos-apigateway==0.1.0 + +COPY config.yml ./config.yml +CMD ["api_gateway", "start", "config.yml"] \ No newline at end of file diff --git a/project/api-gateway/minos/external/api_gateway/config.yml b/project/api-gateway/minos/external/api_gateway/config.yml new file mode 100644 index 0000000..8a376ee --- /dev/null +++ b/project/api-gateway/minos/external/api_gateway/config.yml @@ -0,0 +1,13 @@ +rest: + host: 0.0.0.0 + port: 5566 + cors: + enabled: true + auth: + host: localhost + port: 8092 + method: POST + path: /validate-token +discovery: + host: localhost + port: 5567 \ No newline at end of file diff --git a/project/broker/kafka/copier.yml b/project/broker/kafka/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/broker/kafka/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/broker/kafka/docker-compose.yml.jinja b/project/broker/kafka/docker-compose.yml.jinja new file mode 100644 index 0000000..7184188 --- /dev/null +++ b/project/broker/kafka/docker-compose.yml.jinja @@ -0,0 +1,20 @@ +{% include (destination / "docker-compose.yml").as_posix() %} + + zookeeper: + restart: always + image: wurstmeister/zookeeper:latest + + kafka: + restart: always + image: wurstmeister/kafka:latest + ports: + - "9092:9092" + depends_on: + - zookeeper + volumes: + - kafka_volume:/kafka + environment: + KAFKA_DELETE_TOPIC_ENABLE: "true" + KAFKA_ADVERTISED_HOST_NAME: kafka + KAFKA_ADVERTISED_PORT: 9092 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 \ No newline at end of file diff --git a/project/database/postgres/copier.yml b/project/database/postgres/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/database/postgres/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/database/postgres/docker-compose.yml.jinja b/project/database/postgres/docker-compose.yml.jinja new file mode 100644 index 0000000..6bb347d --- /dev/null +++ b/project/database/postgres/docker-compose.yml.jinja @@ -0,0 +1,13 @@ +{% include (destination / "docker-compose.yml").as_posix() %} + + postgres: + restart: always + build: external/postgres + command: postgres -c 'max_connections=200' + ports: + - "5432:5432" + volumes: + - postgres_volume:/var/lib/postgresql + environment: + - POSTGRES_USER=minos + - POSTGRES_PASSWORD=min0s \ No newline at end of file diff --git a/project/database/postgres/external/postgres/Dockerfile b/project/database/postgres/external/postgres/Dockerfile new file mode 100644 index 0000000..774919f --- /dev/null +++ b/project/database/postgres/external/postgres/Dockerfile @@ -0,0 +1,2 @@ +FROM postgres +COPY create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ \ No newline at end of file diff --git a/project/database/postgres/external/postgres/create-multiple-postgresql-databases.sh b/project/database/postgres/external/postgres/create-multiple-postgresql-databases.sh new file mode 100644 index 0000000..18c0f96 --- /dev/null +++ b/project/database/postgres/external/postgres/create-multiple-postgresql-databases.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e +set -u + +function create_user_and_database() { + local database=$1 + echo " Creating user and database '$database'" + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE USER $database; + CREATE DATABASE $database; + GRANT ALL PRIVILEGES ON DATABASE $database TO $database; +EOSQL +} + +if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then + echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" + for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do + create_user_and_database $db + done + echo "Multiple databases created" +fi \ No newline at end of file diff --git a/project/database/redis/copier.yml b/project/database/redis/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/database/redis/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/database/redis/docker-compose.yml.jinja b/project/database/redis/docker-compose.yml.jinja new file mode 100644 index 0000000..deea4d9 --- /dev/null +++ b/project/database/redis/docker-compose.yml.jinja @@ -0,0 +1,5 @@ +{% include (destination / "docker-compose.yml").as_posix() %} + + redis: + image: redis:latest + command: "redis-server" diff --git a/project/deploy/docker-compose/docker-compose.yml b/project/deploy/docker-compose/docker-compose.yml deleted file mode 100644 index 3ecce69..0000000 --- a/project/deploy/docker-compose/docker-compose.yml +++ /dev/null @@ -1,73 +0,0 @@ -version: "3.9" - -x-microservice-environment: µservice-environment - - MINOS_BROKER_QUEUE_HOST=postgres - - MINOS_BROKER_HOST=kafka - - MINOS_REPOSITORY_HOST=postgres - - MINOS_SNAPSHOT_HOST=postgres - - MINOS_DISCOVERY_HOST=discovery - -x-microservice-depends-on: µservice-depends-on - - postgres - - kafka - - discovery - -volumes: - postgres_volume: - kafka_volume: - -services: - zookeeper: - restart: always - image: wurstmeister/zookeeper:latest - - kafka: - restart: always - image: wurstmeister/kafka:latest - ports: - - "9092:9092" - depends_on: - - zookeeper - volumes: - - kafka_volume:/kafka - environment: - KAFKA_DELETE_TOPIC_ENABLE: "true" - KAFKA_ADVERTISED_HOST_NAME: kafka - KAFKA_ADVERTISED_PORT: 9092 - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - - postgres: - restart: always - build: external/postgres - command: postgres -c 'max_connections=200' - ports: - - "5432:5432" - volumes: - - postgres_volume:/var/lib/postgresql - environment: - - POSTGRES_USER=minos - - POSTGRES_PASSWORD=min0s - - redis: - image: redis:latest - command: "redis-server" - - api-gateway: - restart: always - build: external/api_gateway - ports: - - "5566:5566" - environment: - - PYTHONPATH=/api_gateway - - DISCOVERY_SERVICE_HOST=discovery - - API_GATEWAY_DISCOVERY_HOST=discovery - depends_on: - - discovery - - discovery: - restart: always - build: external/discovery - environment: - - DISCOVERY_SERVICE_DB_HOST=redis - depends_on: - - redis \ No newline at end of file diff --git a/project/deploy/docker-compose/docker-compose.yml.jinja b/project/deploy/docker-compose/docker-compose.yml.jinja new file mode 100644 index 0000000..a43fb5d --- /dev/null +++ b/project/deploy/docker-compose/docker-compose.yml.jinja @@ -0,0 +1,19 @@ +version: "3.9" + +x-microservice-environment: µservice-environment + - MINOS_BROKER_QUEUE_HOST=postgres + - MINOS_BROKER_HOST=kafka + - MINOS_REPOSITORY_HOST=postgres + - MINOS_SNAPSHOT_HOST=postgres + - MINOS_DISCOVERY_HOST=discovery + +x-microservice-depends-on: µservice-depends-on + - postgres + - kafka + - discovery + +volumes: + postgres_volume: + kafka_volume: + +services: \ No newline at end of file diff --git a/project/discovery/minos/copier.yml b/project/discovery/minos/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/discovery/minos/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/discovery/minos/docker-compose.yml.jinja b/project/discovery/minos/docker-compose.yml.jinja new file mode 100644 index 0000000..abc8552 --- /dev/null +++ b/project/discovery/minos/docker-compose.yml.jinja @@ -0,0 +1,10 @@ +{% include (destination / "docker-compose.yml").as_posix() %} + + discovery: + restart: always + build: external/discovery + environment: + - DISCOVERY_SERVICE_DB_HOST=redis + depends_on: + - redis + diff --git a/project/discovery/minos/external/discovery/Dockerfile b/project/discovery/minos/external/discovery/Dockerfile new file mode 100644 index 0000000..d72936e --- /dev/null +++ b/project/discovery/minos/external/discovery/Dockerfile @@ -0,0 +1,7 @@ +FROM python + +RUN apt install git +RUN pip install minos-discovery==0.0.8 + +COPY config.yml ./config.yml +CMD ["discovery", "start", "config.yml"] diff --git a/project/discovery/minos/external/discovery/config.yml b/project/discovery/minos/external/discovery/config.yml new file mode 100644 index 0000000..fbdec14 --- /dev/null +++ b/project/discovery/minos/external/discovery/config.yml @@ -0,0 +1,9 @@ +discovery: + host: 0.0.0.0 + port: 5566 + path: "" + endpoints: [] + db: + host: localhost + port: 6379 + password: diff --git a/project/init/copier.yml b/project/init/copier.yml index 6cacbba..5d1916e 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -13,8 +13,45 @@ project_deploy: link: true help: What deploy system do you want to use? choices: - docker_compose: &docker_compose "{{ template_registry }}/project-deploy-docker-compose.tar.gz" - default: *docker_compose + docker_compose: &docker_compose_url "{{ template_registry }}/project-deploy-docker-compose.tar.gz" + default: *docker_compose_url +project_database_postgres: + type: str + link: true + help: Do you want to use postgres? + choices: + yes: &postgres_url "{{ template_registry }}/project-database-postgres.tar.gz" + no: "" + default: *postgres_url +project_database_redis: + type: str + link: true + help: Do you want to use redis? + choices: + yes: &redis_url "{{ template_registry }}/project-database-redis.tar.gz" + no: "" + default: *redis_url +project_broker: + type: str + link: true + help: What broker do you want to use? + choices: + kafka: &kafka_url "{{ template_registry }}/project-broker-kafka.tar.gz" + default: *kafka_url +project_api_gateway: + type: str + link: true + help: What API Gateway do you want to use? + choices: + minos: &minos_api_gateway_url "{{ template_registry }}/project-broker-kafka.tar.gz" + default: *minos_api_gateway_url +project_discovery: + type: str + link: true + help: What Discovery do you want to use? + choices: + minos: &minos_discovery_url "{{ template_registry }}/project-broker-kafka.tar.gz" + default: *minos_discovery_url _envops: block_start_string: "{%" From 7fb3cd00578193a48319400f58dcae1e2fa85878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 17:35:42 +0100 Subject: [PATCH 24/89] ISSUE #1 * Fix minor bug (2). --- project/init/copier.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/init/copier.yml b/project/init/copier.yml index 5d1916e..b4f3d81 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -43,14 +43,14 @@ project_api_gateway: link: true help: What API Gateway do you want to use? choices: - minos: &minos_api_gateway_url "{{ template_registry }}/project-broker-kafka.tar.gz" + minos: &minos_api_gateway_url "{{ template_registry }}/project-discover-minos.tar.gz" default: *minos_api_gateway_url project_discovery: type: str link: true help: What Discovery do you want to use? choices: - minos: &minos_discovery_url "{{ template_registry }}/project-broker-kafka.tar.gz" + minos: &minos_discovery_url "{{ template_registry }}/project-discover-minos.tar.gz" default: *minos_discovery_url _envops: From da1c8dcc7983840bf71c321c918e9d17ac0e4b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 14 Dec 2021 17:38:49 +0100 Subject: [PATCH 25/89] ISSUE #1 * Fix minor bug (3). --- project/init/copier.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/init/copier.yml b/project/init/copier.yml index b4f3d81..4090509 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -43,14 +43,14 @@ project_api_gateway: link: true help: What API Gateway do you want to use? choices: - minos: &minos_api_gateway_url "{{ template_registry }}/project-discover-minos.tar.gz" + minos: &minos_api_gateway_url "{{ template_registry }}/project-api-gateway-minos.tar.gz" default: *minos_api_gateway_url project_discovery: type: str link: true help: What Discovery do you want to use? choices: - minos: &minos_discovery_url "{{ template_registry }}/project-discover-minos.tar.gz" + minos: &minos_discovery_url "{{ template_registry }}/project-discovery-minos.tar.gz" default: *minos_discovery_url _envops: From 5ee71fc6d5f045c51735d8d229cefb5d508bd7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 09:52:29 +0100 Subject: [PATCH 26/89] ISSUE #1 * Dodge the https://github.com/Clariteia/minos/issues/36 bug. --- project/init/copier.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/project/init/copier.yml b/project/init/copier.yml index 4090509..d049640 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -20,16 +20,16 @@ project_database_postgres: link: true help: Do you want to use postgres? choices: - yes: &postgres_url "{{ template_registry }}/project-database-postgres.tar.gz" - no: "" + yes_: &postgres_url "{{ template_registry }}/project-database-postgres.tar.gz" + no_: "" default: *postgres_url project_database_redis: type: str link: true help: Do you want to use redis? choices: - yes: &redis_url "{{ template_registry }}/project-database-redis.tar.gz" - no: "" + yes_: &redis_url "{{ template_registry }}/project-database-redis.tar.gz" + no_: "" default: *redis_url project_broker: type: str From 01976e2cc4fe8d5b1a05d9797ad7d1388c0cf7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 12:49:49 +0100 Subject: [PATCH 27/89] ISSUE #1 * Minor change. --- project/init/copier.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/project/init/copier.yml b/project/init/copier.yml index d049640..4090509 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -20,16 +20,16 @@ project_database_postgres: link: true help: Do you want to use postgres? choices: - yes_: &postgres_url "{{ template_registry }}/project-database-postgres.tar.gz" - no_: "" + yes: &postgres_url "{{ template_registry }}/project-database-postgres.tar.gz" + no: "" default: *postgres_url project_database_redis: type: str link: true help: Do you want to use redis? choices: - yes_: &redis_url "{{ template_registry }}/project-database-redis.tar.gz" - no_: "" + yes: &redis_url "{{ template_registry }}/project-database-redis.tar.gz" + no: "" default: *redis_url project_broker: type: str From 005058decd7d2111dc2205080f1e494cd2263bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 13:00:06 +0100 Subject: [PATCH 28/89] ISSUE #1 * Add choices for postgres database. --- .github/workflows/template-publish.yml | 18 ++++++++++-- .../{ => deploy/docker-compose}/copier.yml | 0 .../docker-compose}/docker-compose.yml.jinja | 0 .../external/postgres/Dockerfile | 0 .../create-multiple-postgresql-databases.sh | 0 .../postgres/deploy/kubernetes/copier.yml | 10 +++++++ .../postgres/deploy/remote/copier.yml | 28 +++++++++++++++++++ project/database/postgres/init/copier.yml | 20 +++++++++++++ project/init/copier.yml | 2 +- 9 files changed, 74 insertions(+), 4 deletions(-) rename project/database/postgres/{ => deploy/docker-compose}/copier.yml (100%) rename project/database/postgres/{ => deploy/docker-compose}/docker-compose.yml.jinja (100%) rename project/database/postgres/{ => deploy/docker-compose}/external/postgres/Dockerfile (100%) rename project/database/postgres/{ => deploy/docker-compose}/external/postgres/create-multiple-postgresql-databases.sh (100%) create mode 100644 project/database/postgres/deploy/kubernetes/copier.yml create mode 100644 project/database/postgres/deploy/remote/copier.yml create mode 100644 project/database/postgres/init/copier.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index b3bf53c..f9a16ce 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -36,8 +36,17 @@ jobs: - name: Build Project Broker Kafka Template run: tar -czvf project-broker-kafka.tar.gz -C ${{ github.workspace }}/project/broker/kafka . - - name: Build Project Database Postgres Template - run: tar -czvf project-database-postgres.tar.gz -C ${{ github.workspace }}/project/database/postgres . + - name: Build Project Database Postgres Init Template + run: tar -czvf project-database-postgres-init.tar.gz -C ${{ github.workspace }}/project/database/postgres/init . + + - name: Build Project Database Postgres Deploy Docker Compose Template + run: tar -czvf project-database-postgres-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/docker-compose . + + - name: Build Project Database Postgres Deploy Kubernetes Template + run: tar -czvf project-database-postgres-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/kubernetes . + + - name: Build Project Database Postgres Deploy Remote Template + run: tar -czvf project-database-postgres-deploy-remote.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/remote . - name: Build Project Database Redis Template run: tar -czvf project-database-redis.tar.gz -C ${{ github.workspace }}/project/database/redis . @@ -63,7 +72,10 @@ jobs: project-init.tar.gz project-api-gateway-minos.tar.gz project-broker-kafka.tar.gz - project-database-postgres.tar.gz + project-database-postgres-init.tar.gz + project-database-postgres-deploy-docker-compose.tar.gz + project-database-postgres-deploy-kubernetes.tar.gz + project-database-postgres-deploy-remote.tar.gz project-database-redis.tar.gz project-deploy-docker-compose.tar.gz project-discovery-minos.tar.gz diff --git a/project/database/postgres/copier.yml b/project/database/postgres/deploy/docker-compose/copier.yml similarity index 100% rename from project/database/postgres/copier.yml rename to project/database/postgres/deploy/docker-compose/copier.yml diff --git a/project/database/postgres/docker-compose.yml.jinja b/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja similarity index 100% rename from project/database/postgres/docker-compose.yml.jinja rename to project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja diff --git a/project/database/postgres/external/postgres/Dockerfile b/project/database/postgres/deploy/docker-compose/external/postgres/Dockerfile similarity index 100% rename from project/database/postgres/external/postgres/Dockerfile rename to project/database/postgres/deploy/docker-compose/external/postgres/Dockerfile diff --git a/project/database/postgres/external/postgres/create-multiple-postgresql-databases.sh b/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh similarity index 100% rename from project/database/postgres/external/postgres/create-multiple-postgresql-databases.sh rename to project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh diff --git a/project/database/postgres/deploy/kubernetes/copier.yml b/project/database/postgres/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..f9cef0f --- /dev/null +++ b/project/database/postgres/deploy/kubernetes/copier.yml @@ -0,0 +1,10 @@ +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/database/postgres/deploy/remote/copier.yml b/project/database/postgres/deploy/remote/copier.yml new file mode 100644 index 0000000..f4b3afe --- /dev/null +++ b/project/database/postgres/deploy/remote/copier.yml @@ -0,0 +1,28 @@ +database_host: + type: str + default: localhost + help: What is the database's host? +database_port: + type: int + default: 5432 + help: What is the database's port? +database_user: + type: str + default: minos + help: What is the database's user? +database_password: + type: strz + default: min0s + secret: true + help: What is the database's password? + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/database/postgres/init/copier.yml b/project/database/postgres/init/copier.yml new file mode 100644 index 0000000..f5cef01 --- /dev/null +++ b/project/database/postgres/init/copier.yml @@ -0,0 +1,20 @@ +postgres_deploy: + type: str + link: true + help: Where will be the Postgres database located? + choices: + docker_compose: &docker_compose_url "{{ template_registry }}/project-database-postgres-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-database-postgres-deploy-kubernetes.tar.gz" + remote: "{{ template_registry }}/project-database-postgres-deploy-remote.tar.gz" + default: *docker_compose_url + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/init/copier.yml b/project/init/copier.yml index 4090509..ddf1779 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -20,7 +20,7 @@ project_database_postgres: link: true help: Do you want to use postgres? choices: - yes: &postgres_url "{{ template_registry }}/project-database-postgres.tar.gz" + yes: &postgres_url "{{ template_registry }}/project-database-postgres-init.tar.gz" no: "" default: *postgres_url project_database_redis: From 974a2a86937103bbbacf5d2a9b407f22a5e3f5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 13:29:36 +0100 Subject: [PATCH 29/89] ISSUE #1 * Add choices for redis database. --- .github/workflows/template-publish.yml | 18 ++++++++++++++--- .../{ => deploy/docker-compose}/copier.yml | 0 .../docker-compose}/docker-compose.yml.jinja | 0 .../redis/deploy/kubernetes/copier.yml | 10 ++++++++++ .../database/redis/deploy/remote/copier.yml | 10 ++++++++++ project/database/redis/init/copier.yml | 20 +++++++++++++++++++ project/init/copier.yml | 2 +- 7 files changed, 56 insertions(+), 4 deletions(-) rename project/database/redis/{ => deploy/docker-compose}/copier.yml (100%) rename project/database/redis/{ => deploy/docker-compose}/docker-compose.yml.jinja (100%) create mode 100644 project/database/redis/deploy/kubernetes/copier.yml create mode 100644 project/database/redis/deploy/remote/copier.yml create mode 100644 project/database/redis/init/copier.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index f9a16ce..130e500 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -48,8 +48,17 @@ jobs: - name: Build Project Database Postgres Deploy Remote Template run: tar -czvf project-database-postgres-deploy-remote.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/remote . - - name: Build Project Database Redis Template - run: tar -czvf project-database-redis.tar.gz -C ${{ github.workspace }}/project/database/redis . + - name: Build Project Database Redis Init Template + run: tar -czvf project-database-redis.tar.gz -C ${{ github.workspace }}/project/database/redis/init . + + - name: Build Project Database Redis Deploy Docker Compose Template + run: tar -czvf project-database-redis-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/docker-compose . + + - name: Build Project Database Redis Deploy Kubernetes Template + run: tar -czvf project-database-redis-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/kubernetes . + + - name: Build Project Database Redis Deploy Remote Template + run: tar -czvf project-database-redis-deploy-remote.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/remote . - name: Build Project Deploy Docker Compose Template run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . @@ -76,7 +85,10 @@ jobs: project-database-postgres-deploy-docker-compose.tar.gz project-database-postgres-deploy-kubernetes.tar.gz project-database-postgres-deploy-remote.tar.gz - project-database-redis.tar.gz + project-database-redis-init.tar.gz + project-database-redis-deploy-docker-compose.tar.gz + project-database-redis-deploy-kubernetes.tar.gz + project-database-redis-deploy-remote.tar.gz project-deploy-docker-compose.tar.gz project-discovery-minos.tar.gz diff --git a/project/database/redis/copier.yml b/project/database/redis/deploy/docker-compose/copier.yml similarity index 100% rename from project/database/redis/copier.yml rename to project/database/redis/deploy/docker-compose/copier.yml diff --git a/project/database/redis/docker-compose.yml.jinja b/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja similarity index 100% rename from project/database/redis/docker-compose.yml.jinja rename to project/database/redis/deploy/docker-compose/docker-compose.yml.jinja diff --git a/project/database/redis/deploy/kubernetes/copier.yml b/project/database/redis/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..f9cef0f --- /dev/null +++ b/project/database/redis/deploy/kubernetes/copier.yml @@ -0,0 +1,10 @@ +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/database/redis/deploy/remote/copier.yml b/project/database/redis/deploy/remote/copier.yml new file mode 100644 index 0000000..f9cef0f --- /dev/null +++ b/project/database/redis/deploy/remote/copier.yml @@ -0,0 +1,10 @@ +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/database/redis/init/copier.yml b/project/database/redis/init/copier.yml new file mode 100644 index 0000000..2edb1e3 --- /dev/null +++ b/project/database/redis/init/copier.yml @@ -0,0 +1,20 @@ +redis_deploy: + type: str + link: true + help: Where will be the Redis database located? + choices: + docker_compose: &docker_compose_url "{{ template_registry }}/project-database-redis-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-database-redis-deploy-kubernetes.tar.gz" + remote: "{{ template_registry }}/project-database-redis-deploy-remote.tar.gz" + default: *docker_compose_url + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/init/copier.yml b/project/init/copier.yml index ddf1779..d0cf710 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -28,7 +28,7 @@ project_database_redis: link: true help: Do you want to use redis? choices: - yes: &redis_url "{{ template_registry }}/project-database-redis.tar.gz" + yes: &redis_url "{{ template_registry }}/project-database-redis-init.tar.gz" no: "" default: *redis_url project_broker: From f5bdee185ffe2420a7bb01c77b9d33b9cf38e3e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 13:34:50 +0100 Subject: [PATCH 30/89] ISSUE #1 * Add default for project description. * Fix bug related with variable name. --- project/init/README.md.jinja | 4 ++-- project/init/copier.yml | 1 + project/init/external/README.md.jinja | 2 +- project/init/front/README.md.jinja | 2 +- project/init/microservices/README.md.jinja | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/project/init/README.md.jinja b/project/init/README.md.jinja index d72ebdd..f28d88c 100644 --- a/project/init/README.md.jinja +++ b/project/init/README.md.jinja @@ -1,4 +1,4 @@ -# {{ name }} Project +# {{ project_name }} Project ## Description -{{ description }} +{{ project_description }} diff --git a/project/init/copier.yml b/project/init/copier.yml index d0cf710..7623f43 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -4,6 +4,7 @@ project_name: project_description: type: str help: What is the description of the project? + default: "This is the {{ project_name }} project." project_version: type: str help: What is the version of the project? diff --git a/project/init/external/README.md.jinja b/project/init/external/README.md.jinja index debc0a4..6cfa424 100644 --- a/project/init/external/README.md.jinja +++ b/project/init/external/README.md.jinja @@ -1 +1 @@ -# {{ name }} - External \ No newline at end of file +# {{ project_name }} - External \ No newline at end of file diff --git a/project/init/front/README.md.jinja b/project/init/front/README.md.jinja index 75704e3..740bd56 100644 --- a/project/init/front/README.md.jinja +++ b/project/init/front/README.md.jinja @@ -1 +1 @@ -# {{ name }} - Front \ No newline at end of file +# {{ project_name }} - Front \ No newline at end of file diff --git a/project/init/microservices/README.md.jinja b/project/init/microservices/README.md.jinja index e1a2a2a..a52c523 100644 --- a/project/init/microservices/README.md.jinja +++ b/project/init/microservices/README.md.jinja @@ -1 +1 @@ -# {{ name }} - Microservices \ No newline at end of file +# {{ project_name }} - Microservices \ No newline at end of file From e64288e9ee3047878ee5e738255f22f54fb27c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 13:39:29 +0100 Subject: [PATCH 31/89] ISSUE #1 * Fix bug. --- .github/workflows/template-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 130e500..6342bdb 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -49,7 +49,7 @@ jobs: run: tar -czvf project-database-postgres-deploy-remote.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/remote . - name: Build Project Database Redis Init Template - run: tar -czvf project-database-redis.tar.gz -C ${{ github.workspace }}/project/database/redis/init . + run: tar -czvf project-database-redis-init.tar.gz -C ${{ github.workspace }}/project/database/redis/init . - name: Build Project Database Redis Deploy Docker Compose Template run: tar -czvf project-database-redis-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/docker-compose . From 715016c2c00126409c6e2eb7715e22daae9878a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 15:07:16 +0100 Subject: [PATCH 32/89] ISSUE #1 * Add choices for kafka broker. --- .github/workflows/template-publish.yml | 18 ++++++++++++++--- .../{ => deploy/docker-compose}/copier.yml | 0 .../docker-compose}/docker-compose.yml.jinja | 0 .../broker/kafka/deploy/kubernetes/copier.yml | 11 ++++++++++ project/broker/kafka/deploy/remote/copier.yml | 11 ++++++++++ project/broker/kafka/init/copier.yml | 20 +++++++++++++++++++ project/init/copier.yml | 6 +++--- 7 files changed, 60 insertions(+), 6 deletions(-) rename project/broker/kafka/{ => deploy/docker-compose}/copier.yml (100%) rename project/broker/kafka/{ => deploy/docker-compose}/docker-compose.yml.jinja (100%) create mode 100644 project/broker/kafka/deploy/kubernetes/copier.yml create mode 100644 project/broker/kafka/deploy/remote/copier.yml create mode 100644 project/broker/kafka/init/copier.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index 6342bdb..db69b70 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -33,8 +33,17 @@ jobs: - name: Build Project API Gateway Minos Template run: tar -czvf project-api-gateway-minos.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos . - - name: Build Project Broker Kafka Template - run: tar -czvf project-broker-kafka.tar.gz -C ${{ github.workspace }}/project/broker/kafka . + - name: Build Project Broker Kafka Init Template + run: tar -czvf project-broker-kafka-init.tar.gz -C ${{ github.workspace }}/project/broker/kafka/init . + + - name: Build Project Broker Kafka Deploy Docker Compose Template + run: tar -czvf project-broker-kafka-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/broker/kafka/deploy/docker-compose . + + - name: Build Project Broker Kafka Deploy Kubernetes Template + run: tar -czvf project-broker-kafka-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/broker/kafka/deploy/kubernetes . + + - name: Build Project Broker Kafka Deploy Remote Template + run: tar -czvf project-broker-kafka-deploy-remote.tar.gz -C ${{ github.workspace }}/project/broker/kafka/deploy/remote . - name: Build Project Database Postgres Init Template run: tar -czvf project-database-postgres-init.tar.gz -C ${{ github.workspace }}/project/database/postgres/init . @@ -80,7 +89,10 @@ jobs: microservice-python-deploy-kubernetes.tar.gz project-init.tar.gz project-api-gateway-minos.tar.gz - project-broker-kafka.tar.gz + project-broker-kafka-init.tar.gz + project-broker-kafka-deploy-docker-compose.tar.gz + project-broker-kafka-deploy-kubernetes.tar.gz + project-broker-kafka-deploy-remote.tar.gz project-database-postgres-init.tar.gz project-database-postgres-deploy-docker-compose.tar.gz project-database-postgres-deploy-kubernetes.tar.gz diff --git a/project/broker/kafka/copier.yml b/project/broker/kafka/deploy/docker-compose/copier.yml similarity index 100% rename from project/broker/kafka/copier.yml rename to project/broker/kafka/deploy/docker-compose/copier.yml diff --git a/project/broker/kafka/docker-compose.yml.jinja b/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja similarity index 100% rename from project/broker/kafka/docker-compose.yml.jinja rename to project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja diff --git a/project/broker/kafka/deploy/kubernetes/copier.yml b/project/broker/kafka/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/broker/kafka/deploy/remote/copier.yml b/project/broker/kafka/deploy/remote/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/broker/kafka/deploy/remote/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/broker/kafka/init/copier.yml b/project/broker/kafka/init/copier.yml new file mode 100644 index 0000000..b339d2d --- /dev/null +++ b/project/broker/kafka/init/copier.yml @@ -0,0 +1,20 @@ +postgres_deploy: + type: str + link: true + help: Where will be the Kafka broker located? + choices: + docker_compose: &docker_compose_url "{{ template_registry }}/project-broker-kafka-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-broker-kafka-deploy-kubernetes.tar.gz" + remote: "{{ template_registry }}/project-broker-kafka-deploy-remote.tar.gz" + default: *docker_compose_url + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/init/copier.yml b/project/init/copier.yml index 7623f43..1ec2dee 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -19,7 +19,7 @@ project_deploy: project_database_postgres: type: str link: true - help: Do you want to use postgres? + help: Do you want to use the Postgres database? choices: yes: &postgres_url "{{ template_registry }}/project-database-postgres-init.tar.gz" no: "" @@ -27,7 +27,7 @@ project_database_postgres: project_database_redis: type: str link: true - help: Do you want to use redis? + help: Do you want to use the Redis database? choices: yes: &redis_url "{{ template_registry }}/project-database-redis-init.tar.gz" no: "" @@ -37,7 +37,7 @@ project_broker: link: true help: What broker do you want to use? choices: - kafka: &kafka_url "{{ template_registry }}/project-broker-kafka.tar.gz" + kafka: &kafka_url "{{ template_registry }}/project-broker-kafka-init.tar.gz" default: *kafka_url project_api_gateway: type: str From 7eb523dd01af94e8f03eb5959ed34687c8ddc614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 15:12:55 +0100 Subject: [PATCH 33/89] ISSUE #1 * Add choices for minos discovery. --- .github/workflows/template-publish.yml | 21 ++++++++++++++++--- .../{ => deploy/docker-compose}/copier.yml | 0 .../docker-compose}/docker-compose.yml.jinja | 0 .../external/discovery/Dockerfile | 0 .../external/discovery/config.yml | 0 .../minos/deploy/kubernetes/copier.yml | 11 ++++++++++ .../discovery/minos/deploy/remote/copier.yml | 11 ++++++++++ project/discovery/minos/init/copier.yml | 20 ++++++++++++++++++ project/init/copier.yml | 2 +- 9 files changed, 61 insertions(+), 4 deletions(-) rename project/discovery/minos/{ => deploy/docker-compose}/copier.yml (100%) rename project/discovery/minos/{ => deploy/docker-compose}/docker-compose.yml.jinja (100%) rename project/discovery/minos/{ => deploy/docker-compose}/external/discovery/Dockerfile (100%) rename project/discovery/minos/{ => deploy/docker-compose}/external/discovery/config.yml (100%) create mode 100644 project/discovery/minos/deploy/kubernetes/copier.yml create mode 100644 project/discovery/minos/deploy/remote/copier.yml create mode 100644 project/discovery/minos/init/copier.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index db69b70..bf0da20 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -72,8 +72,20 @@ jobs: - name: Build Project Deploy Docker Compose Template run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . - - name: Build Project Discovery Minos Template - run: tar -czvf project-discovery-minos.tar.gz -C ${{ github.workspace }}/project/discovery/minos . + - name: Build Project Discovery Minos Init Template + run: tar -czvf project-discovery-minos-init.tar.gz -C ${{ github.workspace }}/project/discovery/minos/init . + + - name: Build Project Discovery Minos Deploy Docker Compose Template + run: tar -czvf project-discovery-minos-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/discovery/minos/deploy/docker-compose . + + - name: Build Project Discovery Minos Deploy Kubernetes Template + run: tar -czvf project-discovery-minos-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/discovery/minos/deploy/kubernetes . + + - name: Build Project Discovery Minos Deploy Remote Template + run: tar -czvf project-discovery-minos-deploy-remote.tar.gz -C ${{ github.workspace }}/project/discovery/minos/deploy/remote . + + - name: Build Project Deploy Docker Compose Template + run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . - name: Release uses: softprops/action-gh-release@v1 @@ -102,5 +114,8 @@ jobs: project-database-redis-deploy-kubernetes.tar.gz project-database-redis-deploy-remote.tar.gz project-deploy-docker-compose.tar.gz - project-discovery-minos.tar.gz + project-discovery-minos-init.tar.gz + project-discovery-minos-deploy-docker-compose.tar.gz + project-discovery-minos-deploy-kubernetes.tar.gz + project-discovery-minos-deploy-remote.tar.gz diff --git a/project/discovery/minos/copier.yml b/project/discovery/minos/deploy/docker-compose/copier.yml similarity index 100% rename from project/discovery/minos/copier.yml rename to project/discovery/minos/deploy/docker-compose/copier.yml diff --git a/project/discovery/minos/docker-compose.yml.jinja b/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja similarity index 100% rename from project/discovery/minos/docker-compose.yml.jinja rename to project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja diff --git a/project/discovery/minos/external/discovery/Dockerfile b/project/discovery/minos/deploy/docker-compose/external/discovery/Dockerfile similarity index 100% rename from project/discovery/minos/external/discovery/Dockerfile rename to project/discovery/minos/deploy/docker-compose/external/discovery/Dockerfile diff --git a/project/discovery/minos/external/discovery/config.yml b/project/discovery/minos/deploy/docker-compose/external/discovery/config.yml similarity index 100% rename from project/discovery/minos/external/discovery/config.yml rename to project/discovery/minos/deploy/docker-compose/external/discovery/config.yml diff --git a/project/discovery/minos/deploy/kubernetes/copier.yml b/project/discovery/minos/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/discovery/minos/deploy/remote/copier.yml b/project/discovery/minos/deploy/remote/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/discovery/minos/deploy/remote/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/discovery/minos/init/copier.yml b/project/discovery/minos/init/copier.yml new file mode 100644 index 0000000..3f8e277 --- /dev/null +++ b/project/discovery/minos/init/copier.yml @@ -0,0 +1,20 @@ +postgres_deploy: + type: str + link: true + help: Where will be the Minos discovery located? + choices: + docker_compose: &docker_compose_url "{{ template_registry }}/project-discovery-minos-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-discovery-minos-deploy-kubernetes.tar.gz" + remote: "{{ template_registry }}/project-discovery-minos-deploy-remote.tar.gz" + default: *docker_compose_url + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/init/copier.yml b/project/init/copier.yml index 1ec2dee..fc001ad 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -51,7 +51,7 @@ project_discovery: link: true help: What Discovery do you want to use? choices: - minos: &minos_discovery_url "{{ template_registry }}/project-discovery-minos.tar.gz" + minos: &minos_discovery_url "{{ template_registry }}/project-discovery-minos-init.tar.gz" default: *minos_discovery_url _envops: From 7617ac187f666a2f7b9613eaa0e623d746b0f189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 15:20:28 +0100 Subject: [PATCH 34/89] ISSUE #1 * Add choices for minos api gateway. --- .github/workflows/template-publish.yml | 14 ++++++++++++- .../{ => deploy/docker-compose}/copier.yml | 0 .../docker-compose}/docker-compose.yml.jinja | 0 .../external/api_gateway/Dockerfile | 0 .../external/api_gateway/config.yml | 0 .../minos/deploy/kubernetes/copier.yml | 11 ++++++++++ .../minos/deploy/remote/copier.yml | 11 ++++++++++ project/api-gateway/minos/init/copier.yml | 20 +++++++++++++++++++ project/init/copier.yml | 2 +- 9 files changed, 56 insertions(+), 2 deletions(-) rename project/api-gateway/minos/{ => deploy/docker-compose}/copier.yml (100%) rename project/api-gateway/minos/{ => deploy/docker-compose}/docker-compose.yml.jinja (100%) rename project/api-gateway/minos/{ => deploy/docker-compose}/external/api_gateway/Dockerfile (100%) rename project/api-gateway/minos/{ => deploy/docker-compose}/external/api_gateway/config.yml (100%) create mode 100644 project/api-gateway/minos/deploy/kubernetes/copier.yml create mode 100644 project/api-gateway/minos/deploy/remote/copier.yml create mode 100644 project/api-gateway/minos/init/copier.yml diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index bf0da20..c8d8800 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -33,6 +33,15 @@ jobs: - name: Build Project API Gateway Minos Template run: tar -czvf project-api-gateway-minos.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos . + - name: Build Project API Gateway Minos Deploy Docker Compose Template + run: tar -czvf project-api-gateway-minos-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/docker-compose . + + - name: Build Project API Gateway Minos Deploy Kubernetes Template + run: tar -czvf project-api-gateway-minos-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/kubernetes . + + - name: Build Project API Gateway Minos Deploy Remote Template + run: tar -czvf project-api-gateway-minos-deploy-remote.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/remote . + - name: Build Project Broker Kafka Init Template run: tar -czvf project-broker-kafka-init.tar.gz -C ${{ github.workspace }}/project/broker/kafka/init . @@ -100,7 +109,10 @@ jobs: microservice-python-deploy-docker.tar.gz microservice-python-deploy-kubernetes.tar.gz project-init.tar.gz - project-api-gateway-minos.tar.gz + project-api-gateway-minos-init.tar.gz + project-api-gateway-minos-deploy-docker-compose.tar.gz + project-api-gateway-minos-deploy-kubernetes.tar.gz + project-api-gateway-minos-deploy-remote.tar.gz project-broker-kafka-init.tar.gz project-broker-kafka-deploy-docker-compose.tar.gz project-broker-kafka-deploy-kubernetes.tar.gz diff --git a/project/api-gateway/minos/copier.yml b/project/api-gateway/minos/deploy/docker-compose/copier.yml similarity index 100% rename from project/api-gateway/minos/copier.yml rename to project/api-gateway/minos/deploy/docker-compose/copier.yml diff --git a/project/api-gateway/minos/docker-compose.yml.jinja b/project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja similarity index 100% rename from project/api-gateway/minos/docker-compose.yml.jinja rename to project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja diff --git a/project/api-gateway/minos/external/api_gateway/Dockerfile b/project/api-gateway/minos/deploy/docker-compose/external/api_gateway/Dockerfile similarity index 100% rename from project/api-gateway/minos/external/api_gateway/Dockerfile rename to project/api-gateway/minos/deploy/docker-compose/external/api_gateway/Dockerfile diff --git a/project/api-gateway/minos/external/api_gateway/config.yml b/project/api-gateway/minos/deploy/docker-compose/external/api_gateway/config.yml similarity index 100% rename from project/api-gateway/minos/external/api_gateway/config.yml rename to project/api-gateway/minos/deploy/docker-compose/external/api_gateway/config.yml diff --git a/project/api-gateway/minos/deploy/kubernetes/copier.yml b/project/api-gateway/minos/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/api-gateway/minos/deploy/remote/copier.yml b/project/api-gateway/minos/deploy/remote/copier.yml new file mode 100644 index 0000000..8164052 --- /dev/null +++ b/project/api-gateway/minos/deploy/remote/copier.yml @@ -0,0 +1,11 @@ + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/api-gateway/minos/init/copier.yml b/project/api-gateway/minos/init/copier.yml new file mode 100644 index 0000000..d90bceb --- /dev/null +++ b/project/api-gateway/minos/init/copier.yml @@ -0,0 +1,20 @@ +postgres_deploy: + type: str + link: true + help: Where will be the Minos API Gateway located? + choices: + docker_compose: &docker_compose_url "{{ template_registry }}/project-api-gateway-minos-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-api-gateway-minos-deploy-kubernetes.tar.gz" + remote: "{{ template_registry }}/project-api-gateway-minos-deploy-remote.tar.gz" + default: *docker_compose_url + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja diff --git a/project/init/copier.yml b/project/init/copier.yml index fc001ad..1cbaed3 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -44,7 +44,7 @@ project_api_gateway: link: true help: What API Gateway do you want to use? choices: - minos: &minos_api_gateway_url "{{ template_registry }}/project-api-gateway-minos.tar.gz" + minos: &minos_api_gateway_url "{{ template_registry }}/project-api-gateway-minos-init.tar.gz" default: *minos_api_gateway_url project_discovery: type: str From 5e523f3ba678202509c231287e0c2ceacd33175b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 15:21:49 +0100 Subject: [PATCH 35/89] ISSUE #1 * Rename `skeleton` as `init`. --- .github/workflows/template-publish.yml | 6 +++--- microservice/init/copier.yml | 2 +- microservice/language/python/{skeleton => init}/Makefile | 0 .../language/python/{skeleton => init}/config.yml.jinja | 0 microservice/language/python/{skeleton => init}/copier.yml | 0 microservice/language/python/{skeleton => init}/setup.cfg | 0 .../python/{skeleton => init}/src/__init__.py.jinja | 0 .../python/{skeleton => init}/src/__main__.py.jinja | 0 .../python/{skeleton => init}/src/aggregates.py.jinja | 0 microservice/language/python/{skeleton => init}/src/cli.py | 0 .../{skeleton => init}/src/commands/__init__.py.jinja | 0 .../{skeleton => init}/src/commands/services.py.jinja | 0 .../python/{skeleton => init}/src/queries/__init__.py.jinja | 0 .../python/{skeleton => init}/src/queries/services.py.jinja | 0 .../language/python/{skeleton => init}/tests/__init__.py | 0 .../{skeleton => init}/tests/test_aggregates.py.jinja | 0 .../{skeleton => init}/tests/test_commands/__init__.py | 0 .../tests/test_commands/test_services.py.jinja | 0 .../{skeleton => init}/tests/test_queries/__init__.py | 0 .../tests/test_queries/test_services.py.jinja | 0 .../language/python/{skeleton => init}/tests/utils.py | 0 21 files changed, 4 insertions(+), 4 deletions(-) rename microservice/language/python/{skeleton => init}/Makefile (100%) rename microservice/language/python/{skeleton => init}/config.yml.jinja (100%) rename microservice/language/python/{skeleton => init}/copier.yml (100%) rename microservice/language/python/{skeleton => init}/setup.cfg (100%) rename microservice/language/python/{skeleton => init}/src/__init__.py.jinja (100%) rename microservice/language/python/{skeleton => init}/src/__main__.py.jinja (100%) rename microservice/language/python/{skeleton => init}/src/aggregates.py.jinja (100%) rename microservice/language/python/{skeleton => init}/src/cli.py (100%) rename microservice/language/python/{skeleton => init}/src/commands/__init__.py.jinja (100%) rename microservice/language/python/{skeleton => init}/src/commands/services.py.jinja (100%) rename microservice/language/python/{skeleton => init}/src/queries/__init__.py.jinja (100%) rename microservice/language/python/{skeleton => init}/src/queries/services.py.jinja (100%) rename microservice/language/python/{skeleton => init}/tests/__init__.py (100%) rename microservice/language/python/{skeleton => init}/tests/test_aggregates.py.jinja (100%) rename microservice/language/python/{skeleton => init}/tests/test_commands/__init__.py (100%) rename microservice/language/python/{skeleton => init}/tests/test_commands/test_services.py.jinja (100%) rename microservice/language/python/{skeleton => init}/tests/test_queries/__init__.py (100%) rename microservice/language/python/{skeleton => init}/tests/test_queries/test_services.py.jinja (100%) rename microservice/language/python/{skeleton => init}/tests/utils.py (100%) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index c8d8800..f4e1e0c 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -12,8 +12,8 @@ jobs: - name: Build Microservice Initi Template run: tar -czvf microservice-init.tar.gz -C ${{ github.workspace }}/microservice/init . - - name: Build Microservice Python Skeleton Template - run: tar -czvf microservice-python-skeleton.tar.gz -C ${{ github.workspace }}/microservice/language/python/skeleton . + - name: Build Microservice Python Init Template + run: tar -czvf microservice-python-init.tar.gz -C ${{ github.workspace }}/microservice/language/python/init . - name: Build Microservice Python Package Manager Poetry Template run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/poetry . @@ -103,7 +103,7 @@ jobs: prerelease: true files: | microservice-init.tar.gz - microservice-python-skeleton.tar.gz + microservice-python-init.tar.gz microservice-python-package-manager-poetry.tar.gz microservice-python-package-manager-pip.tar.gz microservice-python-deploy-docker.tar.gz diff --git a/microservice/init/copier.yml b/microservice/init/copier.yml index 098d674..1b71291 100644 --- a/microservice/init/copier.yml +++ b/microservice/init/copier.yml @@ -6,7 +6,7 @@ language: link: true help: What programming language do you want to use? choices: - python: &python_url "{{ template_registry }}/microservice-python-skeleton.tar.gz" + python: &python_url "{{ template_registry }}/microservice-python-init.tar.gz" default: *python_url _envops: diff --git a/microservice/language/python/skeleton/Makefile b/microservice/language/python/init/Makefile similarity index 100% rename from microservice/language/python/skeleton/Makefile rename to microservice/language/python/init/Makefile diff --git a/microservice/language/python/skeleton/config.yml.jinja b/microservice/language/python/init/config.yml.jinja similarity index 100% rename from microservice/language/python/skeleton/config.yml.jinja rename to microservice/language/python/init/config.yml.jinja diff --git a/microservice/language/python/skeleton/copier.yml b/microservice/language/python/init/copier.yml similarity index 100% rename from microservice/language/python/skeleton/copier.yml rename to microservice/language/python/init/copier.yml diff --git a/microservice/language/python/skeleton/setup.cfg b/microservice/language/python/init/setup.cfg similarity index 100% rename from microservice/language/python/skeleton/setup.cfg rename to microservice/language/python/init/setup.cfg diff --git a/microservice/language/python/skeleton/src/__init__.py.jinja b/microservice/language/python/init/src/__init__.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/__init__.py.jinja rename to microservice/language/python/init/src/__init__.py.jinja diff --git a/microservice/language/python/skeleton/src/__main__.py.jinja b/microservice/language/python/init/src/__main__.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/__main__.py.jinja rename to microservice/language/python/init/src/__main__.py.jinja diff --git a/microservice/language/python/skeleton/src/aggregates.py.jinja b/microservice/language/python/init/src/aggregates.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/aggregates.py.jinja rename to microservice/language/python/init/src/aggregates.py.jinja diff --git a/microservice/language/python/skeleton/src/cli.py b/microservice/language/python/init/src/cli.py similarity index 100% rename from microservice/language/python/skeleton/src/cli.py rename to microservice/language/python/init/src/cli.py diff --git a/microservice/language/python/skeleton/src/commands/__init__.py.jinja b/microservice/language/python/init/src/commands/__init__.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/commands/__init__.py.jinja rename to microservice/language/python/init/src/commands/__init__.py.jinja diff --git a/microservice/language/python/skeleton/src/commands/services.py.jinja b/microservice/language/python/init/src/commands/services.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/commands/services.py.jinja rename to microservice/language/python/init/src/commands/services.py.jinja diff --git a/microservice/language/python/skeleton/src/queries/__init__.py.jinja b/microservice/language/python/init/src/queries/__init__.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/queries/__init__.py.jinja rename to microservice/language/python/init/src/queries/__init__.py.jinja diff --git a/microservice/language/python/skeleton/src/queries/services.py.jinja b/microservice/language/python/init/src/queries/services.py.jinja similarity index 100% rename from microservice/language/python/skeleton/src/queries/services.py.jinja rename to microservice/language/python/init/src/queries/services.py.jinja diff --git a/microservice/language/python/skeleton/tests/__init__.py b/microservice/language/python/init/tests/__init__.py similarity index 100% rename from microservice/language/python/skeleton/tests/__init__.py rename to microservice/language/python/init/tests/__init__.py diff --git a/microservice/language/python/skeleton/tests/test_aggregates.py.jinja b/microservice/language/python/init/tests/test_aggregates.py.jinja similarity index 100% rename from microservice/language/python/skeleton/tests/test_aggregates.py.jinja rename to microservice/language/python/init/tests/test_aggregates.py.jinja diff --git a/microservice/language/python/skeleton/tests/test_commands/__init__.py b/microservice/language/python/init/tests/test_commands/__init__.py similarity index 100% rename from microservice/language/python/skeleton/tests/test_commands/__init__.py rename to microservice/language/python/init/tests/test_commands/__init__.py diff --git a/microservice/language/python/skeleton/tests/test_commands/test_services.py.jinja b/microservice/language/python/init/tests/test_commands/test_services.py.jinja similarity index 100% rename from microservice/language/python/skeleton/tests/test_commands/test_services.py.jinja rename to microservice/language/python/init/tests/test_commands/test_services.py.jinja diff --git a/microservice/language/python/skeleton/tests/test_queries/__init__.py b/microservice/language/python/init/tests/test_queries/__init__.py similarity index 100% rename from microservice/language/python/skeleton/tests/test_queries/__init__.py rename to microservice/language/python/init/tests/test_queries/__init__.py diff --git a/microservice/language/python/skeleton/tests/test_queries/test_services.py.jinja b/microservice/language/python/init/tests/test_queries/test_services.py.jinja similarity index 100% rename from microservice/language/python/skeleton/tests/test_queries/test_services.py.jinja rename to microservice/language/python/init/tests/test_queries/test_services.py.jinja diff --git a/microservice/language/python/skeleton/tests/utils.py b/microservice/language/python/init/tests/utils.py similarity index 100% rename from microservice/language/python/skeleton/tests/utils.py rename to microservice/language/python/init/tests/utils.py From b3abc812b409a2667968740bfa219fd5012b36a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 15 Dec 2021 15:27:12 +0100 Subject: [PATCH 36/89] ISSUE #1 * Fix bug. --- .github/workflows/template-publish.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index f4e1e0c..a533c4f 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -30,8 +30,8 @@ jobs: - name: Build Project Init Template run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . - - name: Build Project API Gateway Minos Template - run: tar -czvf project-api-gateway-minos.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos . + - name: Build Project API Gateway Minos Init Template + run: tar -czvf project-api-gateway-minos-init.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/init . - name: Build Project API Gateway Minos Deploy Docker Compose Template run: tar -czvf project-api-gateway-minos-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/docker-compose . @@ -101,6 +101,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') with: prerelease: true + fail_on_unmatched_files: true files: | microservice-init.tar.gz microservice-python-init.tar.gz From 80e6b3241a92cfedaad6ba569a0f4622d01132b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 16 Dec 2021 16:44:48 +0100 Subject: [PATCH 37/89] ISSUE #1 * Add `build.sh`. --- .github/workflows/template-publish.yml | 119 +------------------------ .gitignore | 5 +- build.sh | 95 ++++++++++++++++++++ 3 files changed, 102 insertions(+), 117 deletions(-) create mode 100755 build.sh diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index a533c4f..d59aba8 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -9,92 +9,8 @@ jobs: - name: Check out repository code uses: actions/checkout@v2 - - name: Build Microservice Initi Template - run: tar -czvf microservice-init.tar.gz -C ${{ github.workspace }}/microservice/init . - - - name: Build Microservice Python Init Template - run: tar -czvf microservice-python-init.tar.gz -C ${{ github.workspace }}/microservice/language/python/init . - - - name: Build Microservice Python Package Manager Poetry Template - run: tar -czvf microservice-python-package-manager-poetry.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/poetry . - - - name: Build Microservice Python Package Manager Pip Template - run: tar -czvf microservice-python-package-manager-pip.tar.gz -C ${{ github.workspace }}/microservice/language/python/package-manager/pip . - - - name: Build Microservice Python Deploy Docker Template - run: tar -czvf microservice-python-deploy-docker.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/docker . - - - name: Build Microservice Python Deploy Kubernetes Template - run: tar -czvf microservice-python-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/microservice/language/python/deploy/kubernetes . - - - name: Build Project Init Template - run: tar -czvf project-init.tar.gz -C ${{ github.workspace }}/project/init . - - - name: Build Project API Gateway Minos Init Template - run: tar -czvf project-api-gateway-minos-init.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/init . - - - name: Build Project API Gateway Minos Deploy Docker Compose Template - run: tar -czvf project-api-gateway-minos-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/docker-compose . - - - name: Build Project API Gateway Minos Deploy Kubernetes Template - run: tar -czvf project-api-gateway-minos-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/kubernetes . - - - name: Build Project API Gateway Minos Deploy Remote Template - run: tar -czvf project-api-gateway-minos-deploy-remote.tar.gz -C ${{ github.workspace }}/project/api-gateway/minos/deploy/remote . - - - name: Build Project Broker Kafka Init Template - run: tar -czvf project-broker-kafka-init.tar.gz -C ${{ github.workspace }}/project/broker/kafka/init . - - - name: Build Project Broker Kafka Deploy Docker Compose Template - run: tar -czvf project-broker-kafka-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/broker/kafka/deploy/docker-compose . - - - name: Build Project Broker Kafka Deploy Kubernetes Template - run: tar -czvf project-broker-kafka-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/broker/kafka/deploy/kubernetes . - - - name: Build Project Broker Kafka Deploy Remote Template - run: tar -czvf project-broker-kafka-deploy-remote.tar.gz -C ${{ github.workspace }}/project/broker/kafka/deploy/remote . - - - name: Build Project Database Postgres Init Template - run: tar -czvf project-database-postgres-init.tar.gz -C ${{ github.workspace }}/project/database/postgres/init . - - - name: Build Project Database Postgres Deploy Docker Compose Template - run: tar -czvf project-database-postgres-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/docker-compose . - - - name: Build Project Database Postgres Deploy Kubernetes Template - run: tar -czvf project-database-postgres-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/kubernetes . - - - name: Build Project Database Postgres Deploy Remote Template - run: tar -czvf project-database-postgres-deploy-remote.tar.gz -C ${{ github.workspace }}/project/database/postgres/deploy/remote . - - - name: Build Project Database Redis Init Template - run: tar -czvf project-database-redis-init.tar.gz -C ${{ github.workspace }}/project/database/redis/init . - - - name: Build Project Database Redis Deploy Docker Compose Template - run: tar -czvf project-database-redis-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/docker-compose . - - - name: Build Project Database Redis Deploy Kubernetes Template - run: tar -czvf project-database-redis-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/kubernetes . - - - name: Build Project Database Redis Deploy Remote Template - run: tar -czvf project-database-redis-deploy-remote.tar.gz -C ${{ github.workspace }}/project/database/redis/deploy/remote . - - - name: Build Project Deploy Docker Compose Template - run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . - - - name: Build Project Discovery Minos Init Template - run: tar -czvf project-discovery-minos-init.tar.gz -C ${{ github.workspace }}/project/discovery/minos/init . - - - name: Build Project Discovery Minos Deploy Docker Compose Template - run: tar -czvf project-discovery-minos-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/discovery/minos/deploy/docker-compose . - - - name: Build Project Discovery Minos Deploy Kubernetes Template - run: tar -czvf project-discovery-minos-deploy-kubernetes.tar.gz -C ${{ github.workspace }}/project/discovery/minos/deploy/kubernetes . - - - name: Build Project Discovery Minos Deploy Remote Template - run: tar -czvf project-discovery-minos-deploy-remote.tar.gz -C ${{ github.workspace }}/project/discovery/minos/deploy/remote . - - - name: Build Project Deploy Docker Compose Template - run: tar -czvf project-deploy-docker-compose.tar.gz -C ${{ github.workspace }}/project/deploy/docker-compose . + - name: Build Templates + run: sh ${{ github.workspace }}/build.sh - name: Release uses: softprops/action-gh-release@v1 @@ -102,33 +18,4 @@ jobs: with: prerelease: true fail_on_unmatched_files: true - files: | - microservice-init.tar.gz - microservice-python-init.tar.gz - microservice-python-package-manager-poetry.tar.gz - microservice-python-package-manager-pip.tar.gz - microservice-python-deploy-docker.tar.gz - microservice-python-deploy-kubernetes.tar.gz - project-init.tar.gz - project-api-gateway-minos-init.tar.gz - project-api-gateway-minos-deploy-docker-compose.tar.gz - project-api-gateway-minos-deploy-kubernetes.tar.gz - project-api-gateway-minos-deploy-remote.tar.gz - project-broker-kafka-init.tar.gz - project-broker-kafka-deploy-docker-compose.tar.gz - project-broker-kafka-deploy-kubernetes.tar.gz - project-broker-kafka-deploy-remote.tar.gz - project-database-postgres-init.tar.gz - project-database-postgres-deploy-docker-compose.tar.gz - project-database-postgres-deploy-kubernetes.tar.gz - project-database-postgres-deploy-remote.tar.gz - project-database-redis-init.tar.gz - project-database-redis-deploy-docker-compose.tar.gz - project-database-redis-deploy-kubernetes.tar.gz - project-database-redis-deploy-remote.tar.gz - project-deploy-docker-compose.tar.gz - project-discovery-minos-init.tar.gz - project-discovery-minos-deploy-docker-compose.tar.gz - project-discovery-minos-deploy-kubernetes.tar.gz - project-discovery-minos-deploy-remote.tar.gz - + files: ${{ github.workspace }}/.build/* \ No newline at end of file diff --git a/.gitignore b/.gitignore index 1b0b276..03fbb97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ # Intellij IDEa / PyCharm / etc. .idea -.run \ No newline at end of file +.run + +# Build +.build \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..af18e66 --- /dev/null +++ b/build.sh @@ -0,0 +1,95 @@ +#!/bin/sh + +set -euo + +ROOT_DIR=$(dirname "$0") +BUILD_DIR=$(dirname "$0").build + +mkdir -p "$BUILD_DIR" + +echo "Building Microservice Init Template..." +tar -czf "$BUILD_DIR/microservice-init.tar.gz" -C "$ROOT_DIR/microservice/init" . + +echo "Building Microservice Python Init Template..." +tar -czf "$BUILD_DIR/microservice-python-init.tar.gz" -C "$ROOT_DIR/microservice/language/python/init" . + +echo "Building Microservice Python Package Manager Poetry Template..." +tar -czf "$BUILD_DIR/microservice-python-package-manager-poetry.tar.gz" -C "$ROOT_DIR/microservice/language/python/package-manager/poetry" . + +echo "Building Microservice Python Package Manager Pip Template..." +tar -czf "$BUILD_DIR/microservice-python-package-manager-pip.tar.gz" -C "$ROOT_DIR/microservice/language/python/package-manager/pip" . + +echo "Building Microservice Python Deploy Docker Template..." +tar -czf "$BUILD_DIR/microservice-python-deploy-docker.tar.gz" -C "$ROOT_DIR/microservice/language/python/deploy/docker" . + +echo "Building Microservice Python Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/microservice-python-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/microservice/language/python/deploy/kubernetes" . + +echo "Building Project Init Template..." +tar -czf "$BUILD_DIR/project-init.tar.gz" -C "$ROOT_DIR/project/init" . + +echo "Building Project API Gateway Minos Init Template..." +tar -czf "$BUILD_DIR/project-api-gateway-minos-init.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/init" . + +echo "Building Project API Gateway Minos Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-api-gateway-minos-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/deploy/docker-compose" . + +echo "Building Project API Gateway Minos Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/project-api-gateway-minos-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/deploy/kubernetes" . + +echo "Building Project API Gateway Minos Deploy Remote Template..." +tar -czf "$BUILD_DIR/project-api-gateway-minos-deploy-remote.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/deploy/remote" . + +echo "Building Project Broker Kafka Init Template..." +tar -czf "$BUILD_DIR/project-broker-kafka-init.tar.gz" -C "$ROOT_DIR/project/broker/kafka/init" . + +echo "Building Project Broker Kafka Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-broker-kafka-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/broker/kafka/deploy/docker-compose" . + +echo "Building Project Broker Kafka Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/project-broker-kafka-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/broker/kafka/deploy/kubernetes" . + +echo "Building Project Broker Kafka Deploy Remote Template..." +tar -czf "$BUILD_DIR/project-broker-kafka-deploy-remote.tar.gz" -C "$ROOT_DIR/project/broker/kafka/deploy/remote" . + +echo "Building Project Database Postgres Init Template..." +tar -czf "$BUILD_DIR/project-database-postgres-init.tar.gz" -C "$ROOT_DIR/project/database/postgres/init" . + +echo "Building Project Database Postgres Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-database-postgres-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/database/postgres/deploy/docker-compose" . + +echo "Building Project Database Postgres Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/project-database-postgres-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/database/postgres/deploy/kubernetes" . + +echo "Building Project Database Postgres Deploy Remote Template..." +tar -czf "$BUILD_DIR/project-database-postgres-deploy-remote.tar.gz" -C "$ROOT_DIR/project/database/postgres/deploy/remote" . + +echo "Building Project Database Redis Init Template..." +tar -czf "$BUILD_DIR/project-database-redis-init.tar.gz" -C "$ROOT_DIR/project/database/redis/init" . + +echo "Building Project Database Redis Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-database-redis-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/database/redis/deploy/docker-compose" . + +echo "Building Project Database Redis Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/project-database-redis-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/database/redis/deploy/kubernetes" . + +echo "Building Project Database Redis Deploy Remote Template..." +tar -czf "$BUILD_DIR/project-database-redis-deploy-remote.tar.gz" -C "$ROOT_DIR/project/database/redis/deploy/remote" . + +echo "Building Project Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/deploy/docker-compose" . + +echo "Building Project Discovery Minos Init Template..." +tar -czf "$BUILD_DIR/project-discovery-minos-init.tar.gz" -C "$ROOT_DIR/project/discovery/minos/init" . + +echo "Building Project Discovery Minos Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-discovery-minos-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/discovery/minos/deploy/docker-compose" . + +echo "Building Project Discovery Minos Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/project-discovery-minos-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/discovery/minos/deploy/kubernetes" . + +echo "Building Project Discovery Minos Deploy Remote Template..." +tar -czf "$BUILD_DIR/project-discovery-minos-deploy-remote.tar.gz" -C "$ROOT_DIR/project/discovery/minos/deploy/remote" . + +echo "Building Project Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/project-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/deploy/docker-compose" . \ No newline at end of file From e19c68c1ee2d4b90c21d0d67a857de7fd6b533d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 16 Dec 2021 16:46:24 +0100 Subject: [PATCH 38/89] ISSUE #1 * Minor change. --- .github/workflows/template-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/template-publish.yml b/.github/workflows/template-publish.yml index d59aba8..61c95a2 100644 --- a/.github/workflows/template-publish.yml +++ b/.github/workflows/template-publish.yml @@ -12,7 +12,7 @@ jobs: - name: Build Templates run: sh ${{ github.workspace }}/build.sh - - name: Release + - name: Release Templates uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: From cf11f4b840ab78ef22ffe9abcebb15391afcff25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 16 Dec 2021 16:47:52 +0100 Subject: [PATCH 39/89] ISSUE #1 * Fix `BUILD_DIR` bug. --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index af18e66..d109cb2 100755 --- a/build.sh +++ b/build.sh @@ -3,7 +3,7 @@ set -euo ROOT_DIR=$(dirname "$0") -BUILD_DIR=$(dirname "$0").build +BUILD_DIR=$(dirname "$0")/.build mkdir -p "$BUILD_DIR" From a5c8f2e82ffb573bf7c98a0b97b18af17735d570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Fri, 17 Dec 2021 09:31:20 +0100 Subject: [PATCH 40/89] ISSUE #1 * Add `Makefile`. --- Makefile | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..56ca838 --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +build: + sh build.sh \ No newline at end of file From 4cbc4c392d38623f9b855cecc806193f1dd85190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Fri, 17 Dec 2021 09:35:15 +0100 Subject: [PATCH 41/89] ISSUE #1 * Add `pre-commit` config. --- .pre-commit-config.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..cbdaeb4 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,8 @@ +repos: + - repo: local + hooks: + - id: build + pass_filenames: false + entry: make build + name: Generate build + language: system From 2e4399902c7a48073ac342531dd714ddc0a97db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 20 Dec 2021 11:57:57 +0100 Subject: [PATCH 42/89] ISSUE #1 * Add inteligent strategy to build the docker-compose file. --- .../minos/deploy/docker-compose/_utils.py | 35 +++++++++++++++ .../minos/deploy/docker-compose/copier.yml | 8 +++- .../docker-compose/docker-compose.yml.jinja | 14 +----- .../kafka/deploy/docker-compose/_utils.py | 45 +++++++++++++++++++ .../kafka/deploy/docker-compose/copier.yml | 8 +++- .../docker-compose/docker-compose.yml.jinja | 21 +-------- .../postgres/deploy/docker-compose/_utils.py | 37 +++++++++++++++ .../postgres/deploy/docker-compose/copier.yml | 8 +++- .../docker-compose/docker-compose.yml.jinja | 14 +----- .../redis/deploy/docker-compose/_utils.py | 24 ++++++++++ .../redis/deploy/docker-compose/copier.yml | 8 +++- .../docker-compose/docker-compose.yml.jinja | 6 +-- project/deploy/docker-compose/_utils.py | 22 +++++++++ project/deploy/docker-compose/copier.yml | 8 +++- .../docker-compose/docker-compose.yml.jinja | 20 +-------- .../minos/deploy/docker-compose/_utils.py | 33 ++++++++++++++ .../minos/deploy/docker-compose/copier.yml | 8 +++- .../docker-compose/docker-compose.yml.jinja | 11 +---- project/init/copier.yml | 8 ++-- 19 files changed, 248 insertions(+), 90 deletions(-) create mode 100644 project/api-gateway/minos/deploy/docker-compose/_utils.py create mode 100644 project/broker/kafka/deploy/docker-compose/_utils.py create mode 100644 project/database/postgres/deploy/docker-compose/_utils.py create mode 100644 project/database/redis/deploy/docker-compose/_utils.py create mode 100644 project/deploy/docker-compose/_utils.py create mode 100644 project/discovery/minos/deploy/docker-compose/_utils.py diff --git a/project/api-gateway/minos/deploy/docker-compose/_utils.py b/project/api-gateway/minos/deploy/docker-compose/_utils.py new file mode 100644 index 0000000..bbe7175 --- /dev/null +++ b/project/api-gateway/minos/deploy/docker-compose/_utils.py @@ -0,0 +1,35 @@ +from __future__ import annotations + +from pathlib import Path + +import yaml + + +def build_docker_compose(path: Path) -> str: + """Build Docker Compose file content..""" + + if not path.exists(): + raise ValueError("A base Compose file must exist.") + + with path.open() as file: + data = yaml.load(file, Loader=yaml.FullLoader) + + container = { + "restart": "always", + "build": "external/api_gateway", + "ports": [ + "5566" + ], + "depends_on": [ + "discovery" + ], + "environment": { + "PYTHONPATH": "/api_gateway", + "DISCOVERY_SERVICE_HOST": "discovery", + "API_GATEWAY_DISCOVERY_HOST": "discovery", + }, + } + + data["services"]["api-gateway"] = container + + return yaml.dump(data, sort_keys=False) diff --git a/project/api-gateway/minos/deploy/docker-compose/copier.yml b/project/api-gateway/minos/deploy/docker-compose/copier.yml index 8164052..8740772 100644 --- a/project/api-gateway/minos/deploy/docker-compose/copier.yml +++ b/project/api-gateway/minos/deploy/docker-compose/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" @@ -9,3 +8,10 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_exclude: + - "copier.yml" + - "_utils.py" + +_functions: + - "_utils.build_docker_compose" \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja b/project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja index 38103ab..f97f3d7 100644 --- a/project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja @@ -1,13 +1 @@ -{% include (destination / "docker-compose.yml").as_posix() %} - - api-gateway: - restart: always - build: external/api_gateway - ports: - - "5566:5566" - environment: - - PYTHONPATH=/api_gateway - - DISCOVERY_SERVICE_HOST=discovery - - API_GATEWAY_DISCOVERY_HOST=discovery - depends_on: - - discovery \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file diff --git a/project/broker/kafka/deploy/docker-compose/_utils.py b/project/broker/kafka/deploy/docker-compose/_utils.py new file mode 100644 index 0000000..e046f51 --- /dev/null +++ b/project/broker/kafka/deploy/docker-compose/_utils.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from pathlib import Path + +import yaml + + +def build_docker_compose(path: Path) -> str: + """Build Docker Compose file content..""" + + if not path.exists(): + raise ValueError("A base Compose file must exist.") + + with path.open() as file: + data = yaml.load(file, Loader=yaml.FullLoader) + + data["volumes"]["kafka_volume"] = {} + + zookeeper_container = { + "restart": "always", + "image": "wurstmeister/zookeeper:latest", + } + + kafka_container = { + "restart": "always", + "image": "wurstmeister/kafka:latest", + "ports": [ + "9092" + ], + "depends_on": [ + "zookeeper" + ], + "volumes": ["kafka_volume:/kafka"], + "environment": { + "KAFKA_DELETE_TOPIC_ENABLE": "true", + "KAFKA_ADVERTISED_HOST_NAME": "kafka", + "KAFKA_ADVERTISED_PORT": 9092, + "KAFKA_ZOOKEEPER_CONNECT": "zookeeper:2181", + }, + } + + data["services"]["zookeeper"] = zookeeper_container + data["services"]["kafka"] = kafka_container + + return yaml.dump(data, sort_keys=False) diff --git a/project/broker/kafka/deploy/docker-compose/copier.yml b/project/broker/kafka/deploy/docker-compose/copier.yml index 8164052..8740772 100644 --- a/project/broker/kafka/deploy/docker-compose/copier.yml +++ b/project/broker/kafka/deploy/docker-compose/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" @@ -9,3 +8,10 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_exclude: + - "copier.yml" + - "_utils.py" + +_functions: + - "_utils.build_docker_compose" \ No newline at end of file diff --git a/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja b/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja index 7184188..f97f3d7 100644 --- a/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja @@ -1,20 +1 @@ -{% include (destination / "docker-compose.yml").as_posix() %} - - zookeeper: - restart: always - image: wurstmeister/zookeeper:latest - - kafka: - restart: always - image: wurstmeister/kafka:latest - ports: - - "9092:9092" - depends_on: - - zookeeper - volumes: - - kafka_volume:/kafka - environment: - KAFKA_DELETE_TOPIC_ENABLE: "true" - KAFKA_ADVERTISED_HOST_NAME: kafka - KAFKA_ADVERTISED_PORT: 9092 - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file diff --git a/project/database/postgres/deploy/docker-compose/_utils.py b/project/database/postgres/deploy/docker-compose/_utils.py new file mode 100644 index 0000000..d5624a5 --- /dev/null +++ b/project/database/postgres/deploy/docker-compose/_utils.py @@ -0,0 +1,37 @@ +from __future__ import annotations + +from pathlib import Path + +import yaml + + +def build_docker_compose(path: Path) -> str: + """Build Docker Compose file content..""" + + if not path.exists(): + raise ValueError("A base Compose file must exist.") + + with path.open() as file: + data = yaml.load(file, Loader=yaml.FullLoader) + + data["volumes"]["postgres_volume"] = {} + + container = { + "restart": "always", + "build": "external/postgres", + "command": "postgres -c 'max_connections=200'", + "ports": [ + "5432" + ], + "volumes": [ + "postgres_volume:/var/lib/postgresql", + ], + "environment": { + "POSTGRES_USER": "minos", + "POSTGRES_PASSWORD": "min0s", + }, + } + + data["services"]["postgres"] = container + + return yaml.dump(data, sort_keys=False) diff --git a/project/database/postgres/deploy/docker-compose/copier.yml b/project/database/postgres/deploy/docker-compose/copier.yml index 8164052..8740772 100644 --- a/project/database/postgres/deploy/docker-compose/copier.yml +++ b/project/database/postgres/deploy/docker-compose/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" @@ -9,3 +8,10 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_exclude: + - "copier.yml" + - "_utils.py" + +_functions: + - "_utils.build_docker_compose" \ No newline at end of file diff --git a/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja b/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja index 6bb347d..f97f3d7 100644 --- a/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja @@ -1,13 +1 @@ -{% include (destination / "docker-compose.yml").as_posix() %} - - postgres: - restart: always - build: external/postgres - command: postgres -c 'max_connections=200' - ports: - - "5432:5432" - volumes: - - postgres_volume:/var/lib/postgresql - environment: - - POSTGRES_USER=minos - - POSTGRES_PASSWORD=min0s \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file diff --git a/project/database/redis/deploy/docker-compose/_utils.py b/project/database/redis/deploy/docker-compose/_utils.py new file mode 100644 index 0000000..f0bc49d --- /dev/null +++ b/project/database/redis/deploy/docker-compose/_utils.py @@ -0,0 +1,24 @@ +from __future__ import annotations + +from pathlib import Path + +import yaml + + +def build_docker_compose(path: Path) -> str: + """Build Docker Compose file content..""" + + if not path.exists(): + raise ValueError("A base Compose file must exist.") + + with path.open() as file: + data = yaml.load(file, Loader=yaml.FullLoader) + + container = { + "restart": "always", + "image": "redis:latest", + } + + data["services"]["redis"] = container + + return yaml.dump(data, sort_keys=False) diff --git a/project/database/redis/deploy/docker-compose/copier.yml b/project/database/redis/deploy/docker-compose/copier.yml index 8164052..8740772 100644 --- a/project/database/redis/deploy/docker-compose/copier.yml +++ b/project/database/redis/deploy/docker-compose/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" @@ -9,3 +8,10 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_exclude: + - "copier.yml" + - "_utils.py" + +_functions: + - "_utils.build_docker_compose" \ No newline at end of file diff --git a/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja b/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja index deea4d9..f97f3d7 100644 --- a/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja @@ -1,5 +1 @@ -{% include (destination / "docker-compose.yml").as_posix() %} - - redis: - image: redis:latest - command: "redis-server" +{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file diff --git a/project/deploy/docker-compose/_utils.py b/project/deploy/docker-compose/_utils.py new file mode 100644 index 0000000..69ca5d9 --- /dev/null +++ b/project/deploy/docker-compose/_utils.py @@ -0,0 +1,22 @@ +from __future__ import annotations + +from pathlib import Path + +import yaml + + +def build_docker_compose(path: Path) -> str: + """Build Docker Compose file content.""" + + data = dict() + data["version"] = "3.9" + data["x-microservice-environment"] = [] + data["x-microservice-depends-on"] = [] + data["volumes"] = {} + data["services"] = {} + + if path.exists(): + with path.open() as file: + data |= yaml.load(file) + + return yaml.dump(data, sort_keys=False) diff --git a/project/deploy/docker-compose/copier.yml b/project/deploy/docker-compose/copier.yml index 8164052..8740772 100644 --- a/project/deploy/docker-compose/copier.yml +++ b/project/deploy/docker-compose/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" @@ -9,3 +8,10 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_exclude: + - "copier.yml" + - "_utils.py" + +_functions: + - "_utils.build_docker_compose" \ No newline at end of file diff --git a/project/deploy/docker-compose/docker-compose.yml.jinja b/project/deploy/docker-compose/docker-compose.yml.jinja index a43fb5d..f97f3d7 100644 --- a/project/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/deploy/docker-compose/docker-compose.yml.jinja @@ -1,19 +1 @@ -version: "3.9" - -x-microservice-environment: µservice-environment - - MINOS_BROKER_QUEUE_HOST=postgres - - MINOS_BROKER_HOST=kafka - - MINOS_REPOSITORY_HOST=postgres - - MINOS_SNAPSHOT_HOST=postgres - - MINOS_DISCOVERY_HOST=discovery - -x-microservice-depends-on: µservice-depends-on - - postgres - - kafka - - discovery - -volumes: - postgres_volume: - kafka_volume: - -services: \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file diff --git a/project/discovery/minos/deploy/docker-compose/_utils.py b/project/discovery/minos/deploy/docker-compose/_utils.py new file mode 100644 index 0000000..6f1961b --- /dev/null +++ b/project/discovery/minos/deploy/docker-compose/_utils.py @@ -0,0 +1,33 @@ +from __future__ import annotations + +from pathlib import Path + +import yaml + + +def build_docker_compose(path: Path) -> str: + """Build Docker Compose file content..""" + + if not path.exists(): + raise ValueError("A base Compose file must exist.") + + with path.open() as file: + data = yaml.load(file, Loader=yaml.FullLoader) + + container = { + "restart": "always", + "build": "external/discovery", + "ports": [ + "5567" + ], + "depends_on": [ + "redis" + ], + "environment": { + "DISCOVERY_SERVICE_DB_HOST": "redis", + }, + } + + data["services"]["discovery"] = container + + return yaml.dump(data, sort_keys=False) diff --git a/project/discovery/minos/deploy/docker-compose/copier.yml b/project/discovery/minos/deploy/docker-compose/copier.yml index 8164052..8740772 100644 --- a/project/discovery/minos/deploy/docker-compose/copier.yml +++ b/project/discovery/minos/deploy/docker-compose/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" @@ -9,3 +8,10 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_exclude: + - "copier.yml" + - "_utils.py" + +_functions: + - "_utils.build_docker_compose" \ No newline at end of file diff --git a/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja b/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja index abc8552..f97f3d7 100644 --- a/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja @@ -1,10 +1 @@ -{% include (destination / "docker-compose.yml").as_posix() %} - - discovery: - restart: always - build: external/discovery - environment: - - DISCOVERY_SERVICE_DB_HOST=redis - depends_on: - - redis - +{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file diff --git a/project/init/copier.yml b/project/init/copier.yml index 1cbaed3..a75490d 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -21,16 +21,16 @@ project_database_postgres: link: true help: Do you want to use the Postgres database? choices: - yes: &postgres_url "{{ template_registry }}/project-database-postgres-init.tar.gz" - no: "" + "yes": &postgres_url "{{ template_registry }}/project-database-postgres-init.tar.gz" + "no": "" default: *postgres_url project_database_redis: type: str link: true help: Do you want to use the Redis database? choices: - yes: &redis_url "{{ template_registry }}/project-database-redis-init.tar.gz" - no: "" + "yes": &redis_url "{{ template_registry }}/project-database-redis-init.tar.gz" + "no": "" default: *redis_url project_broker: type: str From 9d49a433fea4ec5bdc0c0db17d25bc95de1cbb9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 20 Dec 2021 12:20:02 +0100 Subject: [PATCH 43/89] ISSUE #1 * Fix typo. --- project/api-gateway/minos/deploy/docker-compose/_utils.py | 2 +- project/broker/kafka/deploy/docker-compose/_utils.py | 2 +- project/database/postgres/deploy/docker-compose/_utils.py | 2 +- project/database/redis/deploy/docker-compose/_utils.py | 2 +- project/discovery/minos/deploy/docker-compose/_utils.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/project/api-gateway/minos/deploy/docker-compose/_utils.py b/project/api-gateway/minos/deploy/docker-compose/_utils.py index bbe7175..874a327 100644 --- a/project/api-gateway/minos/deploy/docker-compose/_utils.py +++ b/project/api-gateway/minos/deploy/docker-compose/_utils.py @@ -6,7 +6,7 @@ def build_docker_compose(path: Path) -> str: - """Build Docker Compose file content..""" + """Build Docker Compose file content.""" if not path.exists(): raise ValueError("A base Compose file must exist.") diff --git a/project/broker/kafka/deploy/docker-compose/_utils.py b/project/broker/kafka/deploy/docker-compose/_utils.py index e046f51..6f917b2 100644 --- a/project/broker/kafka/deploy/docker-compose/_utils.py +++ b/project/broker/kafka/deploy/docker-compose/_utils.py @@ -6,7 +6,7 @@ def build_docker_compose(path: Path) -> str: - """Build Docker Compose file content..""" + """Build Docker Compose file content.""" if not path.exists(): raise ValueError("A base Compose file must exist.") diff --git a/project/database/postgres/deploy/docker-compose/_utils.py b/project/database/postgres/deploy/docker-compose/_utils.py index d5624a5..cd70871 100644 --- a/project/database/postgres/deploy/docker-compose/_utils.py +++ b/project/database/postgres/deploy/docker-compose/_utils.py @@ -6,7 +6,7 @@ def build_docker_compose(path: Path) -> str: - """Build Docker Compose file content..""" + """Build Docker Compose file content.""" if not path.exists(): raise ValueError("A base Compose file must exist.") diff --git a/project/database/redis/deploy/docker-compose/_utils.py b/project/database/redis/deploy/docker-compose/_utils.py index f0bc49d..63dadf8 100644 --- a/project/database/redis/deploy/docker-compose/_utils.py +++ b/project/database/redis/deploy/docker-compose/_utils.py @@ -6,7 +6,7 @@ def build_docker_compose(path: Path) -> str: - """Build Docker Compose file content..""" + """Build Docker Compose file content.""" if not path.exists(): raise ValueError("A base Compose file must exist.") diff --git a/project/discovery/minos/deploy/docker-compose/_utils.py b/project/discovery/minos/deploy/docker-compose/_utils.py index 6f1961b..d19fbf7 100644 --- a/project/discovery/minos/deploy/docker-compose/_utils.py +++ b/project/discovery/minos/deploy/docker-compose/_utils.py @@ -6,7 +6,7 @@ def build_docker_compose(path: Path) -> str: - """Build Docker Compose file content..""" + """Build Docker Compose file content.""" if not path.exists(): raise ValueError("A base Compose file must exist.") From 901aef244ffddf0c6fc9215a38ddc7e5f35515cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 20 Dec 2021 16:47:08 +0100 Subject: [PATCH 44/89] ISSUE #1 * Add support for kubernetes project building. --- build.sh | 5 +++- .../minos/deploy/kubernetes/copier.yml | 11 +++++++++ .../external/api_gateway/Dockerfile | 6 +++++ .../external/api_gateway/Makefile.jinja | 9 +++++++ .../external/api_gateway/config.yml | 13 ++++++++++ .../external/api_gateway/configmap.yaml.jinja | 12 ++++++++++ .../api_gateway/deployment.yaml.jinja | 24 +++++++++++++++++++ .../external/api_gateway/ingress.yaml.jinja | 19 +++++++++++++++ .../external/api_gateway/service.yaml.jinja | 12 ++++++++++ .../broker/kafka/deploy/kubernetes/copier.yml | 7 ++++++ .../kubernetes/external/kafka/Makefile.jinja | 4 ++++ .../external/kafka/configmap.yaml.jinja | 12 ++++++++++ .../external/kafka/deployment.yaml.jinja | 24 +++++++++++++++++++ .../external/kafka/service.yaml.jinja | 12 ++++++++++ .../external/zookeeper/Makefile.jinja | 3 +++ .../external/zookeeper/deployment.yaml.jinja | 21 ++++++++++++++++ .../external/zookeeper/service.yaml.jinja | 12 ++++++++++ .../postgres/deploy/kubernetes/copier.yml | 12 ++++++++++ .../external/postgres/Makefile.jinja | 15 ++++++++++++ .../external/postgres/configmap.yaml.jinja | 9 +++++++ .../external/postgres/deployment.yaml.jinja | 24 +++++++++++++++++++ .../external/postgres/service.yaml.jinja | 12 ++++++++++ .../redis/deploy/kubernetes/copier.yml | 7 ++++++ .../kubernetes/external/redis/Makefile.jinja | 3 +++ .../external/redis/deployment.yaml.jinja | 21 ++++++++++++++++ .../external/redis/service.yaml.jinja | 12 ++++++++++ project/deploy/kubernetes/copier.yml | 21 ++++++++++++++++ .../deploy/kubernetes/namespace.yaml.jinja | 4 ++++ .../minos/deploy/kubernetes/copier.yml | 11 +++++++++ .../kubernetes/external/discovery/Dockerfile | 7 ++++++ .../external/discovery/Makefile.jinja | 8 +++++++ .../kubernetes/external/discovery/config.yml | 9 +++++++ .../external/discovery/configmap.yaml.jinja | 9 +++++++ .../external/discovery/deployment.yaml.jinja | 24 +++++++++++++++++++ .../external/discovery/service.yaml.jinja | 12 ++++++++++ project/init/copier.yml | 1 + 36 files changed, 426 insertions(+), 1 deletion(-) create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja create mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja create mode 100644 project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja create mode 100644 project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja create mode 100644 project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja create mode 100644 project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja create mode 100644 project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja create mode 100644 project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja create mode 100644 project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja create mode 100644 project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja create mode 100644 project/deploy/kubernetes/copier.yml create mode 100644 project/deploy/kubernetes/namespace.yaml.jinja create mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile create mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja create mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/config.yml create mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja create mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja create mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja diff --git a/build.sh b/build.sh index d109cb2..9d614e9 100755 --- a/build.sh +++ b/build.sh @@ -92,4 +92,7 @@ echo "Building Project Discovery Minos Deploy Remote Template..." tar -czf "$BUILD_DIR/project-discovery-minos-deploy-remote.tar.gz" -C "$ROOT_DIR/project/discovery/minos/deploy/remote" . echo "Building Project Deploy Docker Compose Template..." -tar -czf "$BUILD_DIR/project-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/deploy/docker-compose" . \ No newline at end of file +tar -czf "$BUILD_DIR/project-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/deploy/docker-compose" . + +echo "Building Project Deploy Kubernetes Template..." +tar -czf "$BUILD_DIR/project-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/deploy/kubernetes" . \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/copier.yml b/project/api-gateway/minos/deploy/kubernetes/copier.yml index 8164052..9379f54 100644 --- a/project/api-gateway/minos/deploy/kubernetes/copier.yml +++ b/project/api-gateway/minos/deploy/kubernetes/copier.yml @@ -1,3 +1,11 @@ +project_name: + type: str + help: What is the name of the project? + +kubernetes_registry: + type: str + help: What is the kubernetes registry? + default: localhost:5000 _envops: block_start_string: "{%" @@ -9,3 +17,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -C ./external/api_gateway build \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile new file mode 100644 index 0000000..9f4ee0a --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile @@ -0,0 +1,6 @@ +FROM python + +RUN pip install minos-apigateway==0.1.0 + +COPY config.yml ./config.yml +CMD ["api_gateway", "start", "config.yml"] \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja new file mode 100644 index 0000000..3312099 --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja @@ -0,0 +1,9 @@ +build: + docker build --no-cache -t {{ project_name }}_apigateway . + docker tag {{ project_name }}_apigateway:latest {{ kubernetes_registry }}/{{ project_name }}_apigateway:0.0.1 + docker push {{ kubernetes_registry }}/{{ project_name }}_apigateway:0.0.1 + + kubectl create -f ./configmap.yaml + kubectl create -f ./service.yaml + kubectl create -f ./deployment.yaml + kubectl create -f ./ingress.yaml \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml new file mode 100644 index 0000000..8a376ee --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml @@ -0,0 +1,13 @@ +rest: + host: 0.0.0.0 + port: 5566 + cors: + enabled: true + auth: + host: localhost + port: 8092 + method: POST + path: /validate-token +discovery: + host: localhost + port: 5567 \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja new file mode 100644 index 0000000..f1d12d0 --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: apigateway-config + namespace: {{ project_name }} + labels: + app: apigateway +data: + PYTHONPATH: /api_gateway + DISCOVERY_SERVICE_HOST: discovery.{{ project_name }}.svc.cluster.local + API_GATEWAY_DISCOVERY_HOST: discovery.{{ project_name }}.svc.cluster.local + API_GATEWAY_REST_AUTH_HOST: {{ project_name }}-authentication.{{ project_name }}.svc.cluster.local \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja new file mode 100644 index 0000000..3f23040 --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: apigateway + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: apigateway + template: + metadata: + labels: + app.kubernetes.io/name: apigateway + spec: + containers: + - name: apigateway + image: {{ kubernetes_registry }}/{{ project_name }}_apigateway:0.0.1 + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 5566 + envFrom: + - configMapRef: + name: apigateway-config \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja new file mode 100644 index 0000000..ac6af45 --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja @@ -0,0 +1,19 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + namespace: {{ project_name }} + annotations: + kubernetes.io/ingress.class: nginx + name: apigateway +spec: + rules: + - host: localhost + http: + paths: + - backend: + service: + name: apigateway + port: + number: 5566 + path: / + pathType: Prefix \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja new file mode 100644 index 0000000..5b84bfd --- /dev/null +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: apigateway + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 5566 + selector: + app.kubernetes.io/name: apigateway \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/copier.yml b/project/broker/kafka/deploy/kubernetes/copier.yml index 8164052..15f16fa 100644 --- a/project/broker/kafka/deploy/kubernetes/copier.yml +++ b/project/broker/kafka/deploy/kubernetes/copier.yml @@ -1,3 +1,6 @@ +project_name: + type: str + help: What is the name of the project? _envops: block_start_string: "{%" @@ -9,3 +12,7 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -C external/zookeeper build + - make -C external/kafka build \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja new file mode 100644 index 0000000..ebfb274 --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -0,0 +1,4 @@ +build: + kubectl create -f ./configmap.yaml + kubectl create -f ./service.yaml + kubectl create -f ./deployment.yaml \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja new file mode 100644 index 0000000..be6657a --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kafka-config + namespace: {{ project_name }} + labels: + app: kafka +data: + KAFKA_DELETE_TOPIC_ENABLE: "true" + KAFKA_ADVERTISED_HOST_NAME: "{{ project_name }}-kafka.{{ project_name }}.svc.cluster.local" + KAFKA_ADVERTISED_PORT: "9092" + KAFKA_ZOOKEEPER_CONNECT: "{{ project_name }}-zookeeper.{{ project_name }}.svc.cluster.local:2181" \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja new file mode 100644 index 0000000..750eca0 --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ project_name }}-kafka + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: {{ project_name }}-kafka + template: + metadata: + labels: + app.kubernetes.io/name: {{ project_name }}-kafka + spec: + containers: + - name: {{ project_name }}-kafka + image: wurstmeister/kafka:latest + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 9092 + envFrom: + - configMapRef: + name: kafka-config \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja new file mode 100644 index 0000000..9d47ed2 --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ project_name }}-kafka + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: 9092 + targetPort: 9092 + selector: + app.kubernetes.io/name: {{ project_name }}-kafka \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja new file mode 100644 index 0000000..fcc5a80 --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -0,0 +1,3 @@ +build: + kubectl create -f ./service.yaml + kubectl create -f ./deployment.yaml \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja new file mode 100644 index 0000000..859573d --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ project_name }}-zookeeper + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: {{ project_name }}-zookeeper + template: + metadata: + labels: + app.kubernetes.io/name: {{ project_name }}-zookeeper + spec: + containers: + - name: {{ project_name }}-zookeeper + image: wurstmeister/zookeeper:latest + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 2181 \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja new file mode 100644 index 0000000..7ebd3bd --- /dev/null +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ project_name }}-zookeeper + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: 2181 + targetPort: 2181 + selector: + app.kubernetes.io/name: {{ project_name }}-zookeeper \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/copier.yml b/project/database/postgres/deploy/kubernetes/copier.yml index f9cef0f..d6d2dfe 100644 --- a/project/database/postgres/deploy/kubernetes/copier.yml +++ b/project/database/postgres/deploy/kubernetes/copier.yml @@ -1,3 +1,12 @@ +project_name: + type: str + help: What is the name of the project? + +kubernetes_registry: + type: str + help: What is the kubernetes registry? + default: localhost:5000 + _envops: block_start_string: "{%" block_end_string: "%}" @@ -8,3 +17,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -C ./external/postgres build \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja new file mode 100644 index 0000000..ec89622 --- /dev/null +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -0,0 +1,15 @@ +build: build-pod sleep create-user + +build-pod: + kubectl create -f ./configmap.yaml + kubectl create -f ./service.yaml + kubectl create -f ./deployment.yaml + +sleep: + sleep 5 + +create-user: + kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';\"" + +create-database: + kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE DATABASE $(DB_NAME) OWNER minos;\"" diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja new file mode 100644 index 0000000..9065d1b --- /dev/null +++ b/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: postgres-config + namespace: {{ project_name }} + labels: + app: postgres +data: + POSTGRES_PASSWORD: p0stgres \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja new file mode 100644 index 0000000..1e6cf0f --- /dev/null +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgres + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: postgres + template: + metadata: + labels: + app.kubernetes.io/name: postgres + spec: + containers: + - name: postgres + image: postgres:latest + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 5432 + envFrom: + - configMapRef: + name: postgres-config \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja new file mode 100644 index 0000000..ee59514 --- /dev/null +++ b/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: postgres + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: 5432 + targetPort: 5432 + selector: + app.kubernetes.io/name: postgres \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/copier.yml b/project/database/redis/deploy/kubernetes/copier.yml index f9cef0f..9b08417 100644 --- a/project/database/redis/deploy/kubernetes/copier.yml +++ b/project/database/redis/deploy/kubernetes/copier.yml @@ -1,3 +1,7 @@ +project_name: + type: str + help: What is the name of the project? + _envops: block_start_string: "{%" block_end_string: "%}" @@ -8,3 +12,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -C ./external/redis build \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja new file mode 100644 index 0000000..fcc5a80 --- /dev/null +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -0,0 +1,3 @@ +build: + kubectl create -f ./service.yaml + kubectl create -f ./deployment.yaml \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja new file mode 100644 index 0000000..b6aac51 --- /dev/null +++ b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ project_name }}-redis + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: {{ project_name }}-redis + template: + metadata: + labels: + app.kubernetes.io/name: {{ project_name }}-redis + spec: + containers: + - name: {{ project_name }}-redis + image: redis:latest + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 6379 \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja new file mode 100644 index 0000000..01e5eea --- /dev/null +++ b/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ project_name }}-redis + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: 6379 + targetPort: 6379 + selector: + app.kubernetes.io/name: {{ project_name }}-redis \ No newline at end of file diff --git a/project/deploy/kubernetes/copier.yml b/project/deploy/kubernetes/copier.yml new file mode 100644 index 0000000..a231605 --- /dev/null +++ b/project/deploy/kubernetes/copier.yml @@ -0,0 +1,21 @@ +project_name: + type: str + help: What is the name of the project? +kubernetes_registry: + type: str + help: What is the kubernetes registry? + default: localhost:5000 + +_envops: + block_start_string: "{%" + block_end_string: "%}" + comment_start_string: "{#" + comment_end_string: "#}" + variable_start_string: "{{" + variable_end_string: "}}" + keep_trailing_newline: false + +_templates_suffix: .jinja + +_tasks: + - "kubectl create -f ./namespace.yaml" \ No newline at end of file diff --git a/project/deploy/kubernetes/namespace.yaml.jinja b/project/deploy/kubernetes/namespace.yaml.jinja new file mode 100644 index 0000000..9c9eaf3 --- /dev/null +++ b/project/deploy/kubernetes/namespace.yaml.jinja @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: {{ project_name }} diff --git a/project/discovery/minos/deploy/kubernetes/copier.yml b/project/discovery/minos/deploy/kubernetes/copier.yml index 8164052..48ec65a 100644 --- a/project/discovery/minos/deploy/kubernetes/copier.yml +++ b/project/discovery/minos/deploy/kubernetes/copier.yml @@ -1,3 +1,11 @@ +project_name: + type: str + help: What is the name of the project? + +kubernetes_registry: + type: str + help: What is the kubernetes registry? + default: localhost:5000 _envops: block_start_string: "{%" @@ -9,3 +17,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -C ./external/discovery build \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile b/project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile new file mode 100644 index 0000000..d72936e --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile @@ -0,0 +1,7 @@ +FROM python + +RUN apt install git +RUN pip install minos-discovery==0.0.8 + +COPY config.yml ./config.yml +CMD ["discovery", "start", "config.yml"] diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja new file mode 100644 index 0000000..295bdc8 --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -0,0 +1,8 @@ +build: + docker build --no-cache -t {{ project_name }}_discovery . + docker tag {{ project_name }}_discovery:latest {{ kubernetes_registry }}/{{ project_name }}_discovery:0.0.1 + docker push {{ kubernetes_registry }}/{{ project_name }}_discovery:0.0.1 + + kubectl create -f ./configmap.yaml + kubectl create -f ./service.yaml + kubectl create -f ./deployment.yaml diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/config.yml b/project/discovery/minos/deploy/kubernetes/external/discovery/config.yml new file mode 100644 index 0000000..fbdec14 --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/config.yml @@ -0,0 +1,9 @@ +discovery: + host: 0.0.0.0 + port: 5566 + path: "" + endpoints: [] + db: + host: localhost + port: 6379 + password: diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja new file mode 100644 index 0000000..33c4251 --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: discovery-config + namespace: {{ project_name }} + labels: + app: discovery +data: + DISCOVERY_SERVICE_DB_HOST: {{ project_name }}-redis.{{ project_name }}.svc.cluster.local \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja new file mode 100644 index 0000000..67b17f1 --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: discovery + namespace: {{ project_name }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: discovery + template: + metadata: + labels: + app.kubernetes.io/name: discovery + spec: + containers: + - name: discovery + image: {{ kubernetes_registry }}/{{ project_name }}_discovery:0.0.1 + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 5567 + envFrom: + - configMapRef: + name: discovery-config \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja new file mode 100644 index 0000000..21fed58 --- /dev/null +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: discovery + namespace: {{ project_name }} +spec: + type: ClusterIP + ports: + - port: 5567 + targetPort: 5567 + selector: + app.kubernetes.io/name: discovery \ No newline at end of file diff --git a/project/init/copier.yml b/project/init/copier.yml index a75490d..d4a5488 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -15,6 +15,7 @@ project_deploy: help: What deploy system do you want to use? choices: docker_compose: &docker_compose_url "{{ template_registry }}/project-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-deploy-kubernetes.tar.gz" default: *docker_compose_url project_database_postgres: type: str From 07c33e6c2d75d75626e4d8864733874062ec7555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 21 Dec 2021 09:25:28 +0100 Subject: [PATCH 45/89] ISSUE #1 * Use already generated images for `minos-apigateway` and `minos-discovery`. --- .../api-gateway/minos/deploy/kubernetes/copier.yml | 5 ----- .../kubernetes/external/api_gateway/Dockerfile | 6 ------ .../kubernetes/external/api_gateway/Makefile.jinja | 4 ---- .../kubernetes/external/api_gateway/config.yml | 13 ------------- .../external/api_gateway/configmap.yaml.jinja | 8 ++++---- .../external/api_gateway/deployment.yaml.jinja | 8 ++++---- .../external/api_gateway/ingress.yaml.jinja | 4 ++-- .../external/api_gateway/service.yaml.jinja | 4 ++-- .../discovery/minos/deploy/kubernetes/copier.yml | 5 ----- .../deploy/kubernetes/external/discovery/Dockerfile | 7 ------- .../kubernetes/external/discovery/Makefile.jinja | 4 ---- .../deploy/kubernetes/external/discovery/config.yml | 9 --------- .../external/discovery/configmap.yaml.jinja | 6 ++++-- .../external/discovery/deployment.yaml.jinja | 8 ++++---- .../external/discovery/service.yaml.jinja | 4 ++-- 15 files changed, 22 insertions(+), 73 deletions(-) delete mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile delete mode 100644 project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml delete mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile delete mode 100644 project/discovery/minos/deploy/kubernetes/external/discovery/config.yml diff --git a/project/api-gateway/minos/deploy/kubernetes/copier.yml b/project/api-gateway/minos/deploy/kubernetes/copier.yml index 9379f54..22f3014 100644 --- a/project/api-gateway/minos/deploy/kubernetes/copier.yml +++ b/project/api-gateway/minos/deploy/kubernetes/copier.yml @@ -2,11 +2,6 @@ project_name: type: str help: What is the name of the project? -kubernetes_registry: - type: str - help: What is the kubernetes registry? - default: localhost:5000 - _envops: block_start_string: "{%" block_end_string: "%}" diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile deleted file mode 100644 index 9f4ee0a..0000000 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM python - -RUN pip install minos-apigateway==0.1.0 - -COPY config.yml ./config.yml -CMD ["api_gateway", "start", "config.yml"] \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja index 3312099..56db8ba 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja @@ -1,8 +1,4 @@ build: - docker build --no-cache -t {{ project_name }}_apigateway . - docker tag {{ project_name }}_apigateway:latest {{ kubernetes_registry }}/{{ project_name }}_apigateway:0.0.1 - docker push {{ kubernetes_registry }}/{{ project_name }}_apigateway:0.0.1 - kubectl create -f ./configmap.yaml kubectl create -f ./service.yaml kubectl create -f ./deployment.yaml diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml deleted file mode 100644 index 8a376ee..0000000 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/config.yml +++ /dev/null @@ -1,13 +0,0 @@ -rest: - host: 0.0.0.0 - port: 5566 - cors: - enabled: true - auth: - host: localhost - port: 8092 - method: POST - path: /validate-token -discovery: - host: localhost - port: 5567 \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja index f1d12d0..68dc701 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja @@ -6,7 +6,7 @@ metadata: labels: app: apigateway data: - PYTHONPATH: /api_gateway - DISCOVERY_SERVICE_HOST: discovery.{{ project_name }}.svc.cluster.local - API_GATEWAY_DISCOVERY_HOST: discovery.{{ project_name }}.svc.cluster.local - API_GATEWAY_REST_AUTH_HOST: {{ project_name }}-authentication.{{ project_name }}.svc.cluster.local \ No newline at end of file + API_GATEWAY_REST_PORT: "5566" + API_GATEWAY_DISCOVERY_PORT: "5567" + API_GATEWAY_DISCOVERY_HOST: "discovery.{{ project_name }}.svc.cluster.local" + API_GATEWAY_REST_AUTH_ENABLED: "false" \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja index 3f23040..dd39a83 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja @@ -1,21 +1,21 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: apigateway + name: {{ project_name }}-apigateway namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: apigateway + app.kubernetes.io/name: {{ project_name }}-apigateway template: metadata: labels: - app.kubernetes.io/name: apigateway + app.kubernetes.io/name: {{ project_name }}-apigateway spec: containers: - name: apigateway - image: {{ kubernetes_registry }}/{{ project_name }}_apigateway:0.0.1 + image: ghcr.io/clariteia/minos-apigateway:0.1.0 imagePullPolicy: "IfNotPresent" ports: - containerPort: 5566 diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja index ac6af45..5f2cb40 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja @@ -4,7 +4,7 @@ metadata: namespace: {{ project_name }} annotations: kubernetes.io/ingress.class: nginx - name: apigateway + name: {{ project_name }}-apigateway spec: rules: - host: localhost @@ -12,7 +12,7 @@ spec: paths: - backend: service: - name: apigateway + name: {{ project_name }}-apigateway port: number: 5566 path: / diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja index 5b84bfd..9e9ddff 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: apigateway + name: {{ project_name }}-apigateway namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 80 targetPort: 5566 selector: - app.kubernetes.io/name: apigateway \ No newline at end of file + app.kubernetes.io/name: {{ project_name }}-apigateway \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/copier.yml b/project/discovery/minos/deploy/kubernetes/copier.yml index 48ec65a..a3209f7 100644 --- a/project/discovery/minos/deploy/kubernetes/copier.yml +++ b/project/discovery/minos/deploy/kubernetes/copier.yml @@ -2,11 +2,6 @@ project_name: type: str help: What is the name of the project? -kubernetes_registry: - type: str - help: What is the kubernetes registry? - default: localhost:5000 - _envops: block_start_string: "{%" block_end_string: "%}" diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile b/project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile deleted file mode 100644 index d72936e..0000000 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM python - -RUN apt install git -RUN pip install minos-discovery==0.0.8 - -COPY config.yml ./config.yml -CMD ["discovery", "start", "config.yml"] diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index 295bdc8..5dacbd2 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -1,8 +1,4 @@ build: - docker build --no-cache -t {{ project_name }}_discovery . - docker tag {{ project_name }}_discovery:latest {{ kubernetes_registry }}/{{ project_name }}_discovery:0.0.1 - docker push {{ kubernetes_registry }}/{{ project_name }}_discovery:0.0.1 - kubectl create -f ./configmap.yaml kubectl create -f ./service.yaml kubectl create -f ./deployment.yaml diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/config.yml b/project/discovery/minos/deploy/kubernetes/external/discovery/config.yml deleted file mode 100644 index fbdec14..0000000 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/config.yml +++ /dev/null @@ -1,9 +0,0 @@ -discovery: - host: 0.0.0.0 - port: 5566 - path: "" - endpoints: [] - db: - host: localhost - port: 6379 - password: diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja index 33c4251..2c93953 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja @@ -4,6 +4,8 @@ metadata: name: discovery-config namespace: {{ project_name }} labels: - app: discovery + app: {{ project_name }}-discovery data: - DISCOVERY_SERVICE_DB_HOST: {{ project_name }}-redis.{{ project_name }}.svc.cluster.local \ No newline at end of file + DISCOVERY_SERVICE_PORT: "5567" + DISCOVERY_SERVICE_DB_HOST: {{ project_name }}-redis.{{ project_name }}.svc.cluster.local + DISCOVERY_SERVICE_DB_PORT: "6379" \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja index 67b17f1..76a64cd 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja @@ -1,21 +1,21 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: discovery + name: {{ project_name }}-discovery namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: discovery + app.kubernetes.io/name: {{ project_name }}-discovery template: metadata: labels: - app.kubernetes.io/name: discovery + app.kubernetes.io/name: {{ project_name }}-discovery spec: containers: - name: discovery - image: {{ kubernetes_registry }}/{{ project_name }}_discovery:0.0.1 + image: ghcr.io/clariteia/minos-discovery:0.0.8 imagePullPolicy: "IfNotPresent" ports: - containerPort: 5567 diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja index 21fed58..b61ff6c 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: discovery + name: {{ project_name }}-discovery namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 5567 targetPort: 5567 selector: - app.kubernetes.io/name: discovery \ No newline at end of file + app.kubernetes.io/name: {{ project_name }}-discovery \ No newline at end of file From 8819773462dfa7b8177f16c9eb0b23755c1d75ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 21 Dec 2021 09:43:38 +0100 Subject: [PATCH 46/89] ISSUE #1 * Improve postgres config. --- project/database/postgres/deploy/kubernetes/copier.yml | 5 ----- .../deploy/kubernetes/external/postgres/Makefile.jinja | 4 ++-- .../kubernetes/external/postgres/deployment.yaml.jinja | 6 +++--- .../deploy/kubernetes/external/postgres/service.yaml.jinja | 4 ++-- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/project/database/postgres/deploy/kubernetes/copier.yml b/project/database/postgres/deploy/kubernetes/copier.yml index d6d2dfe..80dabc9 100644 --- a/project/database/postgres/deploy/kubernetes/copier.yml +++ b/project/database/postgres/deploy/kubernetes/copier.yml @@ -2,11 +2,6 @@ project_name: type: str help: What is the name of the project? -kubernetes_registry: - type: str - help: What is the kubernetes registry? - default: localhost:5000 - _envops: block_start_string: "{%" block_end_string: "%}" diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index ec89622..9dae66c 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -9,7 +9,7 @@ sleep: sleep 5 create-user: - kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';\"" + kubectl exec -it --namespace={{ project_name }} svc/{{ project_name }}-postgres -- bash -c "psql -U postgres -tc \"CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';\"" create-database: - kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE DATABASE $(DB_NAME) OWNER minos;\"" + kubectl exec -it --namespace={{ project_name }} svc/{{ project_name }}-postgres -- bash -c "psql -U postgres -tc \"CREATE DATABASE $(DB_NAME) OWNER minos;\"" diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja index 1e6cf0f..6c4d9c4 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja @@ -1,17 +1,17 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: postgres + name: {{ project_name }}-postgres namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: postgres + app.kubernetes.io/name: {{ project_name }}-postgres template: metadata: labels: - app.kubernetes.io/name: postgres + app.kubernetes.io/name: {{ project_name }}-postgres spec: containers: - name: postgres diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja index ee59514..a443785 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: postgres + name: {{ project_name }}-postgres namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 5432 targetPort: 5432 selector: - app.kubernetes.io/name: postgres \ No newline at end of file + app.kubernetes.io/name: {{ project_name }}-postgres \ No newline at end of file From d32798b97767d279661f113d4ec6e35b9edeaa1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 21 Dec 2021 09:46:45 +0100 Subject: [PATCH 47/89] ISSUE #1 * Fix bug. --- .../deploy/kubernetes/external/api_gateway/service.yaml.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja index 9e9ddff..144b089 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja @@ -6,7 +6,7 @@ metadata: spec: type: ClusterIP ports: - - port: 80 + - port: 5566 targetPort: 5566 selector: app.kubernetes.io/name: {{ project_name }}-apigateway \ No newline at end of file From 32e8a46bd629d5c059510a2772d58cd9b0cb0f75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 27 Dec 2021 17:34:47 +0100 Subject: [PATCH 48/89] ISSUE #1 * Simplify stdout messages. --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 9d614e9..53bf305 100755 --- a/build.sh +++ b/build.sh @@ -1,6 +1,6 @@ #!/bin/sh -set -euo +set -e ROOT_DIR=$(dirname "$0") BUILD_DIR=$(dirname "$0")/.build From 7e150ec24f75914468d4137ef2bef3e69beef54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Mon, 27 Dec 2021 17:52:54 +0100 Subject: [PATCH 49/89] ISSUE #1 * Simplify pod names. --- .../kubernetes/external/api_gateway/deployment.yaml.jinja | 6 +++--- .../kubernetes/external/api_gateway/ingress.yaml.jinja | 4 ++-- .../kubernetes/external/api_gateway/service.yaml.jinja | 4 ++-- .../deploy/kubernetes/external/kafka/configmap.yaml.jinja | 5 +++-- .../kubernetes/external/kafka/deployment.yaml.jinja | 8 ++++---- .../deploy/kubernetes/external/kafka/service.yaml.jinja | 4 ++-- .../kubernetes/external/zookeeper/deployment.yaml.jinja | 8 ++++---- .../kubernetes/external/zookeeper/service.yaml.jinja | 4 ++-- .../deploy/kubernetes/external/postgres/Makefile.jinja | 4 ++-- .../kubernetes/external/postgres/deployment.yaml.jinja | 6 +++--- .../kubernetes/external/postgres/service.yaml.jinja | 4 ++-- .../kubernetes/external/redis/deployment.yaml.jinja | 8 ++++---- .../deploy/kubernetes/external/redis/service.yaml.jinja | 4 ++-- .../kubernetes/external/discovery/configmap.yaml.jinja | 4 ++-- .../kubernetes/external/discovery/deployment.yaml.jinja | 6 +++--- .../kubernetes/external/discovery/service.yaml.jinja | 4 ++-- 16 files changed, 42 insertions(+), 41 deletions(-) diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja index dd39a83..f2a4f13 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja @@ -1,17 +1,17 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-apigateway + name: minos-apigateway namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-apigateway + app.kubernetes.io/name: minos-apigateway template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-apigateway + app.kubernetes.io/name: minos-apigateway spec: containers: - name: apigateway diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja index 5f2cb40..c96f1dc 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja @@ -4,7 +4,7 @@ metadata: namespace: {{ project_name }} annotations: kubernetes.io/ingress.class: nginx - name: {{ project_name }}-apigateway + name: minos-apigateway spec: rules: - host: localhost @@ -12,7 +12,7 @@ spec: paths: - backend: service: - name: {{ project_name }}-apigateway + name: minos-apigateway port: number: 5566 path: / diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja index 144b089..52717b0 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-apigateway + name: minos-apigateway namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 5566 targetPort: 5566 selector: - app.kubernetes.io/name: {{ project_name }}-apigateway \ No newline at end of file + app.kubernetes.io/name: minos-apigateway \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja index be6657a..290b151 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja @@ -7,6 +7,7 @@ metadata: app: kafka data: KAFKA_DELETE_TOPIC_ENABLE: "true" - KAFKA_ADVERTISED_HOST_NAME: "{{ project_name }}-kafka.{{ project_name }}.svc.cluster.local" + KAFKA_PORT: "9092" + KAFKA_ADVERTISED_HOST_NAME: "kafka.{{ project_name }}.svc.cluster.local" KAFKA_ADVERTISED_PORT: "9092" - KAFKA_ZOOKEEPER_CONNECT: "{{ project_name }}-zookeeper.{{ project_name }}.svc.cluster.local:2181" \ No newline at end of file + KAFKA_ZOOKEEPER_CONNECT: "zookeeper.{{ project_name }}.svc.cluster.local:2181" \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja index 750eca0..d6dd257 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja @@ -1,20 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-kafka + name: kafka namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-kafka + app.kubernetes.io/name: kafka template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-kafka + app.kubernetes.io/name: kafka spec: containers: - - name: {{ project_name }}-kafka + - name: kafka image: wurstmeister/kafka:latest imagePullPolicy: "IfNotPresent" ports: diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja index 9d47ed2..019f946 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-kafka + name: kafka namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 9092 targetPort: 9092 selector: - app.kubernetes.io/name: {{ project_name }}-kafka \ No newline at end of file + app.kubernetes.io/name: kafka \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja index 859573d..1438313 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja @@ -1,20 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-zookeeper + name: zookeeper namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-zookeeper + app.kubernetes.io/name: zookeeper template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-zookeeper + app.kubernetes.io/name: zookeeper spec: containers: - - name: {{ project_name }}-zookeeper + - name: zookeeper image: wurstmeister/zookeeper:latest imagePullPolicy: "IfNotPresent" ports: diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja index 7ebd3bd..241aa00 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-zookeeper + name: zookeeper namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 2181 targetPort: 2181 selector: - app.kubernetes.io/name: {{ project_name }}-zookeeper \ No newline at end of file + app.kubernetes.io/name: zookeeper \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 9dae66c..ec89622 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -9,7 +9,7 @@ sleep: sleep 5 create-user: - kubectl exec -it --namespace={{ project_name }} svc/{{ project_name }}-postgres -- bash -c "psql -U postgres -tc \"CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';\"" + kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';\"" create-database: - kubectl exec -it --namespace={{ project_name }} svc/{{ project_name }}-postgres -- bash -c "psql -U postgres -tc \"CREATE DATABASE $(DB_NAME) OWNER minos;\"" + kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE DATABASE $(DB_NAME) OWNER minos;\"" diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja index 6c4d9c4..1e6cf0f 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja @@ -1,17 +1,17 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-postgres + name: postgres namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-postgres + app.kubernetes.io/name: postgres template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-postgres + app.kubernetes.io/name: postgres spec: containers: - name: postgres diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja index a443785..ee59514 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-postgres + name: postgres namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 5432 targetPort: 5432 selector: - app.kubernetes.io/name: {{ project_name }}-postgres \ No newline at end of file + app.kubernetes.io/name: postgres \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja index b6aac51..e4a5ee4 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja @@ -1,20 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-redis + name: redis namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-redis + app.kubernetes.io/name: redis template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-redis + app.kubernetes.io/name: redis spec: containers: - - name: {{ project_name }}-redis + - name: redis image: redis:latest imagePullPolicy: "IfNotPresent" ports: diff --git a/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja index 01e5eea..73b7028 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-redis + name: redis namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 6379 targetPort: 6379 selector: - app.kubernetes.io/name: {{ project_name }}-redis \ No newline at end of file + app.kubernetes.io/name: redis \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja index 2c93953..6c433b4 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja @@ -4,8 +4,8 @@ metadata: name: discovery-config namespace: {{ project_name }} labels: - app: {{ project_name }}-discovery + app: minos-discovery data: DISCOVERY_SERVICE_PORT: "5567" - DISCOVERY_SERVICE_DB_HOST: {{ project_name }}-redis.{{ project_name }}.svc.cluster.local + DISCOVERY_SERVICE_DB_HOST: redis.{{ project_name }}.svc.cluster.local DISCOVERY_SERVICE_DB_PORT: "6379" \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja index 76a64cd..eef6345 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja @@ -1,17 +1,17 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-discovery + name: minos-discovery namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-discovery + app.kubernetes.io/name: minos-discovery template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-discovery + app.kubernetes.io/name: minos-discovery spec: containers: - name: discovery diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja index b61ff6c..abb20f0 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-discovery + name: minos-discovery namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: 5567 targetPort: 5567 selector: - app.kubernetes.io/name: {{ project_name }}-discovery \ No newline at end of file + app.kubernetes.io/name: minos-discovery \ No newline at end of file From 1fd406655b974b9a9aaccb610ce7c7aca66f654c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 09:03:30 +0100 Subject: [PATCH 50/89] ISSUE #1 * Change `imagePullPolicy` from `IfNotPresent` to `Always`. --- .../python/deploy/kubernetes/deploy/deployment.yaml.jinja | 2 +- .../kubernetes/external/api_gateway/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/kafka/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/zookeeper/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/postgres/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/redis/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/discovery/deployment.yaml.jinja | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja index 2d827dd..d58372d 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja @@ -16,7 +16,7 @@ spec: containers: - name: {{ project_name }}-{{ name }} image: {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: {{ rest_port }} envFrom: diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja index f2a4f13..993a493 100644 --- a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja +++ b/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja @@ -16,7 +16,7 @@ spec: containers: - name: apigateway image: ghcr.io/clariteia/minos-apigateway:0.1.0 - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: 5566 envFrom: diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja index d6dd257..1e20c47 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja @@ -16,7 +16,7 @@ spec: containers: - name: kafka image: wurstmeister/kafka:latest - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: 9092 envFrom: diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja index 1438313..14d0891 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja @@ -16,6 +16,6 @@ spec: containers: - name: zookeeper image: wurstmeister/zookeeper:latest - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: 2181 \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja index 1e6cf0f..972f12b 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja @@ -16,7 +16,7 @@ spec: containers: - name: postgres image: postgres:latest - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: 5432 envFrom: diff --git a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja index e4a5ee4..e5c1f49 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja @@ -16,6 +16,6 @@ spec: containers: - name: redis image: redis:latest - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: 6379 \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja index eef6345..db450bb 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja @@ -16,7 +16,7 @@ spec: containers: - name: discovery image: ghcr.io/clariteia/minos-discovery:0.0.8 - imagePullPolicy: "IfNotPresent" + imagePullPolicy: Always ports: - containerPort: 5567 envFrom: From e98bcb12d624e78eaf27a567e4dabc55d46cc4ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 09:09:44 +0100 Subject: [PATCH 51/89] ISSUE #1 * Rename `api-gateway` templates as `apigateway`. --- build.sh | 8 ++++---- .../minos/deploy/docker-compose/_utils.py | 4 ++-- .../minos/deploy/docker-compose/copier.yml | 0 .../minos/deploy/docker-compose/docker-compose.yml.jinja | 0 .../deploy/docker-compose/external/apigateway}/Dockerfile | 0 .../deploy/docker-compose/external/apigateway}/config.yml | 0 .../minos/deploy/kubernetes/copier.yml | 2 +- .../deploy/kubernetes/external/apigateway}/Makefile.jinja | 0 .../kubernetes/external/apigateway}/configmap.yaml.jinja | 0 .../kubernetes/external/apigateway}/deployment.yaml.jinja | 0 .../kubernetes/external/apigateway}/ingress.yaml.jinja | 0 .../kubernetes/external/apigateway}/service.yaml.jinja | 0 .../minos/deploy/remote/copier.yml | 0 project/{api-gateway => apigateway}/minos/init/copier.yml | 6 +++--- project/init/copier.yml | 2 +- 15 files changed, 11 insertions(+), 11 deletions(-) rename project/{api-gateway => apigateway}/minos/deploy/docker-compose/_utils.py (89%) rename project/{api-gateway => apigateway}/minos/deploy/docker-compose/copier.yml (100%) rename project/{api-gateway => apigateway}/minos/deploy/docker-compose/docker-compose.yml.jinja (100%) rename project/{api-gateway/minos/deploy/docker-compose/external/api_gateway => apigateway/minos/deploy/docker-compose/external/apigateway}/Dockerfile (100%) rename project/{api-gateway/minos/deploy/docker-compose/external/api_gateway => apigateway/minos/deploy/docker-compose/external/apigateway}/config.yml (100%) rename project/{api-gateway => apigateway}/minos/deploy/kubernetes/copier.yml (88%) rename project/{api-gateway/minos/deploy/kubernetes/external/api_gateway => apigateway/minos/deploy/kubernetes/external/apigateway}/Makefile.jinja (100%) rename project/{api-gateway/minos/deploy/kubernetes/external/api_gateway => apigateway/minos/deploy/kubernetes/external/apigateway}/configmap.yaml.jinja (100%) rename project/{api-gateway/minos/deploy/kubernetes/external/api_gateway => apigateway/minos/deploy/kubernetes/external/apigateway}/deployment.yaml.jinja (100%) rename project/{api-gateway/minos/deploy/kubernetes/external/api_gateway => apigateway/minos/deploy/kubernetes/external/apigateway}/ingress.yaml.jinja (100%) rename project/{api-gateway/minos/deploy/kubernetes/external/api_gateway => apigateway/minos/deploy/kubernetes/external/apigateway}/service.yaml.jinja (100%) rename project/{api-gateway => apigateway}/minos/deploy/remote/copier.yml (100%) rename project/{api-gateway => apigateway}/minos/init/copier.yml (64%) diff --git a/build.sh b/build.sh index 53bf305..4fac634 100755 --- a/build.sh +++ b/build.sh @@ -29,16 +29,16 @@ echo "Building Project Init Template..." tar -czf "$BUILD_DIR/project-init.tar.gz" -C "$ROOT_DIR/project/init" . echo "Building Project API Gateway Minos Init Template..." -tar -czf "$BUILD_DIR/project-api-gateway-minos-init.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/init" . +tar -czf "$BUILD_DIR/project-apigateway-minos-init.tar.gz" -C "$ROOT_DIR/project/apigateway/minos/init" . echo "Building Project API Gateway Minos Deploy Docker Compose Template..." -tar -czf "$BUILD_DIR/project-api-gateway-minos-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/deploy/docker-compose" . +tar -czf "$BUILD_DIR/project-apigateway-minos-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/apigateway/minos/deploy/docker-compose" . echo "Building Project API Gateway Minos Deploy Kubernetes Template..." -tar -czf "$BUILD_DIR/project-api-gateway-minos-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/deploy/kubernetes" . +tar -czf "$BUILD_DIR/project-apigateway-minos-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/apigateway/minos/deploy/kubernetes" . echo "Building Project API Gateway Minos Deploy Remote Template..." -tar -czf "$BUILD_DIR/project-api-gateway-minos-deploy-remote.tar.gz" -C "$ROOT_DIR/project/api-gateway/minos/deploy/remote" . +tar -czf "$BUILD_DIR/project-apigateway-minos-deploy-remote.tar.gz" -C "$ROOT_DIR/project/apigateway/minos/deploy/remote" . echo "Building Project Broker Kafka Init Template..." tar -czf "$BUILD_DIR/project-broker-kafka-init.tar.gz" -C "$ROOT_DIR/project/broker/kafka/init" . diff --git a/project/api-gateway/minos/deploy/docker-compose/_utils.py b/project/apigateway/minos/deploy/docker-compose/_utils.py similarity index 89% rename from project/api-gateway/minos/deploy/docker-compose/_utils.py rename to project/apigateway/minos/deploy/docker-compose/_utils.py index 874a327..de1b859 100644 --- a/project/api-gateway/minos/deploy/docker-compose/_utils.py +++ b/project/apigateway/minos/deploy/docker-compose/_utils.py @@ -16,7 +16,7 @@ def build_docker_compose(path: Path) -> str: container = { "restart": "always", - "build": "external/api_gateway", + "build": "external/apigateway", "ports": [ "5566" ], @@ -30,6 +30,6 @@ def build_docker_compose(path: Path) -> str: }, } - data["services"]["api-gateway"] = container + data["services"]["apigateway"] = container return yaml.dump(data, sort_keys=False) diff --git a/project/api-gateway/minos/deploy/docker-compose/copier.yml b/project/apigateway/minos/deploy/docker-compose/copier.yml similarity index 100% rename from project/api-gateway/minos/deploy/docker-compose/copier.yml rename to project/apigateway/minos/deploy/docker-compose/copier.yml diff --git a/project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja b/project/apigateway/minos/deploy/docker-compose/docker-compose.yml.jinja similarity index 100% rename from project/api-gateway/minos/deploy/docker-compose/docker-compose.yml.jinja rename to project/apigateway/minos/deploy/docker-compose/docker-compose.yml.jinja diff --git a/project/api-gateway/minos/deploy/docker-compose/external/api_gateway/Dockerfile b/project/apigateway/minos/deploy/docker-compose/external/apigateway/Dockerfile similarity index 100% rename from project/api-gateway/minos/deploy/docker-compose/external/api_gateway/Dockerfile rename to project/apigateway/minos/deploy/docker-compose/external/apigateway/Dockerfile diff --git a/project/api-gateway/minos/deploy/docker-compose/external/api_gateway/config.yml b/project/apigateway/minos/deploy/docker-compose/external/apigateway/config.yml similarity index 100% rename from project/api-gateway/minos/deploy/docker-compose/external/api_gateway/config.yml rename to project/apigateway/minos/deploy/docker-compose/external/apigateway/config.yml diff --git a/project/api-gateway/minos/deploy/kubernetes/copier.yml b/project/apigateway/minos/deploy/kubernetes/copier.yml similarity index 88% rename from project/api-gateway/minos/deploy/kubernetes/copier.yml rename to project/apigateway/minos/deploy/kubernetes/copier.yml index 22f3014..bb6dc3b 100644 --- a/project/api-gateway/minos/deploy/kubernetes/copier.yml +++ b/project/apigateway/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -C ./external/api_gateway build \ No newline at end of file + - make -C ./external/apigateway build \ No newline at end of file diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja similarity index 100% rename from project/api-gateway/minos/deploy/kubernetes/external/api_gateway/Makefile.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja similarity index 100% rename from project/api-gateway/minos/deploy/kubernetes/external/api_gateway/configmap.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deployment.yaml.jinja similarity index 100% rename from project/api-gateway/minos/deploy/kubernetes/external/api_gateway/deployment.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/deployment.yaml.jinja diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja similarity index 100% rename from project/api-gateway/minos/deploy/kubernetes/external/api_gateway/ingress.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja diff --git a/project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/service.yaml.jinja similarity index 100% rename from project/api-gateway/minos/deploy/kubernetes/external/api_gateway/service.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/service.yaml.jinja diff --git a/project/api-gateway/minos/deploy/remote/copier.yml b/project/apigateway/minos/deploy/remote/copier.yml similarity index 100% rename from project/api-gateway/minos/deploy/remote/copier.yml rename to project/apigateway/minos/deploy/remote/copier.yml diff --git a/project/api-gateway/minos/init/copier.yml b/project/apigateway/minos/init/copier.yml similarity index 64% rename from project/api-gateway/minos/init/copier.yml rename to project/apigateway/minos/init/copier.yml index d90bceb..8c2ff24 100644 --- a/project/api-gateway/minos/init/copier.yml +++ b/project/apigateway/minos/init/copier.yml @@ -3,9 +3,9 @@ postgres_deploy: link: true help: Where will be the Minos API Gateway located? choices: - docker_compose: &docker_compose_url "{{ template_registry }}/project-api-gateway-minos-deploy-docker-compose.tar.gz" - kubernetes: "{{ template_registry }}/project-api-gateway-minos-deploy-kubernetes.tar.gz" - remote: "{{ template_registry }}/project-api-gateway-minos-deploy-remote.tar.gz" + docker_compose: &docker_compose_url "{{ template_registry }}/project-apigateway-minos-deploy-docker-compose.tar.gz" + kubernetes: "{{ template_registry }}/project-apigateway-minos-deploy-kubernetes.tar.gz" + remote: "{{ template_registry }}/project-apigateway-minos-deploy-remote.tar.gz" default: *docker_compose_url _envops: diff --git a/project/init/copier.yml b/project/init/copier.yml index d4a5488..603f09c 100644 --- a/project/init/copier.yml +++ b/project/init/copier.yml @@ -45,7 +45,7 @@ project_api_gateway: link: true help: What API Gateway do you want to use? choices: - minos: &minos_api_gateway_url "{{ template_registry }}/project-api-gateway-minos-init.tar.gz" + minos: &minos_api_gateway_url "{{ template_registry }}/project-apigateway-minos-init.tar.gz" default: *minos_api_gateway_url project_discovery: type: str From bef18e556f507aced4f04f17df1eb9135e0521b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 09:28:10 +0100 Subject: [PATCH 52/89] ISSUE #1 * Update ingress config. --- .../external/apigateway/ingress.yaml.jinja | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja index c96f1dc..3d9afcd 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja @@ -1,19 +1,18 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: + name: minos-apigateway namespace: {{ project_name }} annotations: kubernetes.io/ingress.class: nginx - name: minos-apigateway spec: rules: - - host: localhost - http: + - http: paths: - - backend: + - path: / + pathType: Prefix + backend: service: name: minos-apigateway port: - number: 5566 - path: / - pathType: Prefix \ No newline at end of file + number: 5566 \ No newline at end of file From 59d7afff821202730e81a242333b6e8a89536d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 10:55:36 +0100 Subject: [PATCH 53/89] ISSUE #1 * Silence post templating tasks. * Minor improvements. --- project/apigateway/minos/deploy/kubernetes/copier.yml | 2 +- project/broker/kafka/deploy/kubernetes/copier.yml | 4 ++-- project/database/postgres/deploy/kubernetes/copier.yml | 2 +- project/database/redis/deploy/kubernetes/copier.yml | 2 +- project/deploy/kubernetes/Makefile | 2 ++ project/deploy/kubernetes/copier.yml | 2 +- project/discovery/minos/deploy/kubernetes/copier.yml | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 project/deploy/kubernetes/Makefile diff --git a/project/apigateway/minos/deploy/kubernetes/copier.yml b/project/apigateway/minos/deploy/kubernetes/copier.yml index bb6dc3b..356a6d9 100644 --- a/project/apigateway/minos/deploy/kubernetes/copier.yml +++ b/project/apigateway/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -C ./external/apigateway build \ No newline at end of file + - make -s -C external/apigateway build \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/copier.yml b/project/broker/kafka/deploy/kubernetes/copier.yml index 15f16fa..586fba4 100644 --- a/project/broker/kafka/deploy/kubernetes/copier.yml +++ b/project/broker/kafka/deploy/kubernetes/copier.yml @@ -14,5 +14,5 @@ _envops: _templates_suffix: .jinja _tasks: - - make -C external/zookeeper build - - make -C external/kafka build \ No newline at end of file + - make -s -C external/zookeeper build + - make -s -C external/kafka build \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/copier.yml b/project/database/postgres/deploy/kubernetes/copier.yml index 80dabc9..cd51975 100644 --- a/project/database/postgres/deploy/kubernetes/copier.yml +++ b/project/database/postgres/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -C ./external/postgres build \ No newline at end of file + - make -s -C external/postgres build \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/copier.yml b/project/database/redis/deploy/kubernetes/copier.yml index 9b08417..8e14be4 100644 --- a/project/database/redis/deploy/kubernetes/copier.yml +++ b/project/database/redis/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -C ./external/redis build \ No newline at end of file + - make -s -C external/redis build \ No newline at end of file diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile new file mode 100644 index 0000000..06b2520 --- /dev/null +++ b/project/deploy/kubernetes/Makefile @@ -0,0 +1,2 @@ +build: + kubectl create -f ./namespace.yaml \ No newline at end of file diff --git a/project/deploy/kubernetes/copier.yml b/project/deploy/kubernetes/copier.yml index a231605..b8ad2df 100644 --- a/project/deploy/kubernetes/copier.yml +++ b/project/deploy/kubernetes/copier.yml @@ -18,4 +18,4 @@ _envops: _templates_suffix: .jinja _tasks: - - "kubectl create -f ./namespace.yaml" \ No newline at end of file + - make -s build \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/copier.yml b/project/discovery/minos/deploy/kubernetes/copier.yml index a3209f7..0856393 100644 --- a/project/discovery/minos/deploy/kubernetes/copier.yml +++ b/project/discovery/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -C ./external/discovery build \ No newline at end of file + - make -s -C external/discovery build \ No newline at end of file From 0c6856838c422dce0cf72c136ded3aebc3478c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 12:27:32 +0100 Subject: [PATCH 54/89] ISSUE #1 * Replace `kubectl create` by `kubectl apply`. * Add `make restart` command. * Minor improvements. --- .../external/apigateway/Makefile.jinja | 11 ++++++---- .../kubernetes/external/kafka/Makefile.jinja | 9 +++++--- .../external/zookeeper/Makefile.jinja | 7 +++++-- .../external/postgres/Makefile.jinja | 21 +++++++++++++------ .../external/postgres/configmap.yaml.jinja | 2 +- .../kubernetes/external/redis/Makefile.jinja | 7 +++++-- project/deploy/kubernetes/Makefile | 8 +++++-- .../external/discovery/Makefile.jinja | 9 +++++--- 8 files changed, 51 insertions(+), 23 deletions(-) diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja index 56db8ba..ee4526c 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja @@ -1,5 +1,8 @@ build: - kubectl create -f ./configmap.yaml - kubectl create -f ./service.yaml - kubectl create -f ./deployment.yaml - kubectl create -f ./ingress.yaml \ No newline at end of file + kubectl apply -f configmap.yaml > /dev/null + kubectl apply -f service.yaml > /dev/null + kubectl apply -f deployment.yaml > /dev/null + kubectl apply -f ingress.yaml > /dev/null + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment minos-apigateway > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index ebfb274..9ee9eb2 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -1,4 +1,7 @@ build: - kubectl create -f ./configmap.yaml - kubectl create -f ./service.yaml - kubectl create -f ./deployment.yaml \ No newline at end of file + kubectl apply -f configmap.yaml > /dev/null + kubectl apply -f service.yaml > /dev/null + kubectl apply -f deployment.yaml > /dev/null + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment kafka > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index fcc5a80..c0353ae 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -1,3 +1,6 @@ build: - kubectl create -f ./service.yaml - kubectl create -f ./deployment.yaml \ No newline at end of file + kubectl apply -f service.yaml > /dev/null + kubectl apply -f deployment.yaml > /dev/null + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment zookeeper > /dev/null diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index ec89622..7f5c71b 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -1,15 +1,24 @@ -build: build-pod sleep create-user +build: \ + build-pod \ + sleep \ + create-user build-pod: - kubectl create -f ./configmap.yaml - kubectl create -f ./service.yaml - kubectl create -f ./deployment.yaml + kubectl apply -f configmap.yaml > /dev/null + kubectl apply -f service.yaml > /dev/null + kubectl apply -f deployment.yaml > /dev/null sleep: sleep 5 create-user: - kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';\"" + kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ + psql -U postgres -tc "CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';" || true create-database: - kubectl exec -it --namespace={{ project_name }} svc/postgres -- bash -c "psql -U postgres -tc \"CREATE DATABASE $(DB_NAME) OWNER minos;\"" + kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ + psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" + + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment postgres > /dev/null diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja index 9065d1b..f713cac 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja @@ -6,4 +6,4 @@ metadata: labels: app: postgres data: - POSTGRES_PASSWORD: p0stgres \ No newline at end of file + POSTGRES_PASSWORD: "p0stgres" \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja index fcc5a80..8f19909 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -1,3 +1,6 @@ build: - kubectl create -f ./service.yaml - kubectl create -f ./deployment.yaml \ No newline at end of file + kubectl apply -f service.yaml > /dev/null + kubectl apply -f deployment.yaml > /dev/null + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment redis > /dev/null diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index 06b2520..36a480f 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -1,2 +1,6 @@ -build: - kubectl create -f ./namespace.yaml \ No newline at end of file +build: \ + build-namespace + + +build-namespace: + kubectl apply -f namespace.yaml > /dev/null \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index 5dacbd2..74e94a3 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -1,4 +1,7 @@ build: - kubectl create -f ./configmap.yaml - kubectl create -f ./service.yaml - kubectl create -f ./deployment.yaml + kubectl apply -f configmap.yaml > /dev/null + kubectl apply -f service.yaml > /dev/null + kubectl apply -f deployment.yaml > /dev/null + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment minos-discovery > /dev/null From aa1f3cd61af67729974feeb52d84602687d2064c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 12:31:01 +0100 Subject: [PATCH 55/89] ISSUE #1 * Fix minor bug related with the `minos-discovery` hostname. --- .../deploy/kubernetes/external/apigateway/configmap.yaml.jinja | 2 +- .../deploy/kubernetes/external/discovery/configmap.yaml.jinja | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja index 68dc701..fc559d5 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja @@ -8,5 +8,5 @@ metadata: data: API_GATEWAY_REST_PORT: "5566" API_GATEWAY_DISCOVERY_PORT: "5567" - API_GATEWAY_DISCOVERY_HOST: "discovery.{{ project_name }}.svc.cluster.local" + API_GATEWAY_DISCOVERY_HOST: "minos-discovery.{{ project_name }}.svc.cluster.local" API_GATEWAY_REST_AUTH_ENABLED: "false" \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja index 6c433b4..ce41011 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja @@ -7,5 +7,5 @@ metadata: app: minos-discovery data: DISCOVERY_SERVICE_PORT: "5567" - DISCOVERY_SERVICE_DB_HOST: redis.{{ project_name }}.svc.cluster.local + DISCOVERY_SERVICE_DB_HOST: "redis.{{ project_name }}.svc.cluster.local" DISCOVERY_SERVICE_DB_PORT: "6379" \ No newline at end of file From 0a7445a411a33dc6f3eea27ea2fe7df88b69b2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 14:07:48 +0100 Subject: [PATCH 56/89] ISSUE #1 * Wait until postgres is up before connecting to it. --- .../kubernetes/external/postgres/Makefile.jinja | 14 ++++++-------- project/deploy/kubernetes/Makefile | 4 ++-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 7f5c71b..2fe2b52 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -1,24 +1,22 @@ -build: \ - build-pod \ - sleep \ - create-user +build: + $(MAKE) build-pod + $(MAKE) create-user build-pod: kubectl apply -f configmap.yaml > /dev/null kubectl apply -f service.yaml > /dev/null kubectl apply -f deployment.yaml > /dev/null -sleep: - sleep 5 - create-user: + kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ psql -U postgres -tc "CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';" || true create-database: + kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" restart: - kubectl rollout restart --namespace={{ project_name }} deployment postgres > /dev/null + kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index 36a480f..ea67a94 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -1,5 +1,5 @@ -build: \ - build-namespace +build: + $(MAKE) build-namespace build-namespace: From d5eed6758f84dce208f0cf684f0541a0f410467a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Tue, 28 Dec 2021 17:16:35 +0100 Subject: [PATCH 57/89] ISSUE #1 * Minor changes. --- .../postgres/deploy/kubernetes/external/postgres/Makefile.jinja | 1 - project/deploy/kubernetes/Makefile | 1 - 2 files changed, 2 deletions(-) diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 2fe2b52..022a963 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -17,6 +17,5 @@ create-database: kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" - restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index ea67a94..cf6e4a3 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -1,6 +1,5 @@ build: $(MAKE) build-namespace - build-namespace: kubectl apply -f namespace.yaml > /dev/null \ No newline at end of file From f9d2884573f78e387e08a5a9f2defb4838f0ce0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 10:01:27 +0100 Subject: [PATCH 58/89] ISSUE #1 * Fix minor bug. --- .../language/python/deploy/kubernetes/Makefile.jinja | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 3b8a19f..796ef85 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,6 +1,6 @@ {% include (destination / "Makefile").as_posix() %} build: - docker build --no-cache -t {{ project_name }}_{{ name }} -f deploy/Dockerfile . - docker tag {{ project_name }}_{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} - docker push {{ kubernetes_registry }}/{{ project_name }}_{{ name }}:{{ version }} + docker build --no-cache -t {{ project_name }}-{{ name }} -f deploy/Dockerfile . + docker tag {{ project_name }}-{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} + docker push {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} From d8c176f76f4867a56339fdfc4897e38ada6a8c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 10:06:36 +0100 Subject: [PATCH 59/89] ISSUE #1 * Rename label. --- .../deploy/kubernetes/external/apigateway/configmap.yaml.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja index fc559d5..0dc2026 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja @@ -4,7 +4,7 @@ metadata: name: apigateway-config namespace: {{ project_name }} labels: - app: apigateway + app: minos-apigateway data: API_GATEWAY_REST_PORT: "5566" API_GATEWAY_DISCOVERY_PORT: "5567" From 44206bf6de401b623c09dae9d7a01262b2de0d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 10:17:21 +0100 Subject: [PATCH 60/89] ISSUE #1 * Create database only if not exists. --- .../postgres/deploy/kubernetes/external/postgres/Makefile.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 022a963..e1b1b79 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -15,7 +15,7 @@ create-user: create-database: kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ - psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" + psql -U postgres -tc "CREATE DATABASE IF NOT EXISTS $(DB_NAME) OWNER minos;" restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null From b8c6f0bb51187af2ef4c0ce7599ee1bc3f3dfa82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 10:25:42 +0100 Subject: [PATCH 61/89] ISSUE #1 * Revert create database only if not exits. --- .../postgres/deploy/kubernetes/external/postgres/Makefile.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index e1b1b79..022a963 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -15,7 +15,7 @@ create-user: create-database: kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ - psql -U postgres -tc "CREATE DATABASE IF NOT EXISTS $(DB_NAME) OWNER minos;" + psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null From 9ce8a86c9aeb1c26735ec67e1a0288663e77ae68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 12:38:32 +0100 Subject: [PATCH 62/89] ISSUE #1 * Update `minos` dependencies to latest version. --- .../language/python/deploy/docker/Dockerfile | 2 +- .../python/deploy/kubernetes/Makefile.jinja | 13 ++++++- .../python/deploy/kubernetes/copier.yml | 3 ++ .../deploy/kubernetes/deploy/Dockerfile | 2 +- .../python/init/{Makefile => Makefile.jinja} | 3 ++ .../language/python/init/config.yml.jinja | 37 +++++++++---------- microservice/language/python/init/copier.yml | 3 ++ .../python/init/src/aggregates.py.jinja | 2 +- .../init/src/commands/services.py.jinja | 9 ++--- .../python/init/src/queries/services.py.jinja | 2 +- .../package-manager/poetry/Makefile.jinja | 4 ++ .../python/package-manager/poetry/copier.yml | 3 ++ .../poetry/pyproject.toml.jinja | 9 +++-- .../external/postgres/Makefile.jinja | 4 +- project/deploy/kubernetes/Makefile | 3 +- .../configmap_microservices.yaml.jinja | 13 +++++++ 16 files changed, 77 insertions(+), 35 deletions(-) rename microservice/language/python/init/{Makefile => Makefile.jinja} (75%) create mode 100644 microservice/language/python/package-manager/poetry/Makefile.jinja create mode 100644 project/deploy/kubernetes/configmap_microservices.yaml.jinja diff --git a/microservice/language/python/deploy/docker/Dockerfile b/microservice/language/python/deploy/docker/Dockerfile index 2e5f79e..e61dce5 100644 --- a/microservice/language/python/deploy/docker/Dockerfile +++ b/microservice/language/python/deploy/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/clariteia/minos-microservice:0.1.5 as development +FROM ghcr.io/clariteia/minos-microservice:0.1.8 as development COPY ./pyproject.toml ./poetry.lock ./ RUN poetry install --no-root diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 796ef85..112916c 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,6 +1,17 @@ {% include (destination / "Makefile").as_posix() %} build: - docker build --no-cache -t {{ project_name }}-{{ name }} -f deploy/Dockerfile . + $(MAKE) build-image + $(MAKE) build-config + +build-image: + docker build --pull -t {{ project_name }}-{{ name }} -f deploy/Dockerfile . docker tag {{ project_name }}-{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} docker push {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} + +build-config: + kubectl apply -f deploy/deployment.yaml + kubectl apply -f deploy/service.yaml + +restart: + kubectl rollout restart --namespace={{ project_name }} deployment/{{ project_name }}-{{ name }} > /dev/null diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml index 1cfcde1..9715012 100644 --- a/microservice/language/python/deploy/kubernetes/copier.yml +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -29,3 +29,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -s build \ No newline at end of file diff --git a/microservice/language/python/deploy/kubernetes/deploy/Dockerfile b/microservice/language/python/deploy/kubernetes/deploy/Dockerfile index 2e5f79e..e61dce5 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/Dockerfile +++ b/microservice/language/python/deploy/kubernetes/deploy/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/clariteia/minos-microservice:0.1.5 as development +FROM ghcr.io/clariteia/minos-microservice:0.1.8 as development COPY ./pyproject.toml ./poetry.lock ./ RUN poetry install --no-root diff --git a/microservice/language/python/init/Makefile b/microservice/language/python/init/Makefile.jinja similarity index 75% rename from microservice/language/python/init/Makefile rename to microservice/language/python/init/Makefile.jinja index bc992ae..03a2f15 100644 --- a/microservice/language/python/init/Makefile +++ b/microservice/language/python/init/Makefile.jinja @@ -18,3 +18,6 @@ coverage: poetry run coverage run -m pytest poetry run coverage report -m poetry run coverage xml + +create-database: + $(MAKE) -C ../../external/postgres create-database DB_NAME={{ name }}_db \ No newline at end of file diff --git a/microservice/language/python/init/config.yml.jinja b/microservice/language/python/init/config.yml.jinja index a1425a8..968458d 100644 --- a/microservice/language/python/init/config.yml.jinja +++ b/microservice/language/python/init/config.yml.jinja @@ -2,25 +2,30 @@ service: name: {{ name }} aggregate: src.aggregates.{{ aggregate }} injections: + lock_pool: minos.common.PostgreSqlLockPool postgresql_pool: minos.common.PostgreSqlPool - command_broker: minos.networks.CommandBroker - command_reply_broker: minos.networks.CommandReplyBroker - event_broker: minos.networks.EventBroker - consumer: minos.networks.Consumer - dynamic_handler_pool: minos.networks.DynamicHandlerPool - repository: minos.common.PostgreSqlRepository + broker_publisher: minos.networks.BrokerPublisher + broker_consumer: minos.networks.BrokerConsumer + broker_pool: minos.networks.DynamicBrokerPool + transaction_repository: minos.aggregate.PostgreSqlTransactionRepository + event_repository: minos.aggregate.PostgreSqlEventRepository + snapshot_repository: minos.aggregate.PostgreSqlSnapshotRepository saga_manager: minos.saga.SagaManager - snapshot: minos.common.PostgreSqlSnapshot discovery: minos.networks.DiscoveryConnector services: - - minos.networks.ConsumerService - - minos.networks.CommandHandlerService - - minos.networks.CommandReplyHandlerService - - minos.networks.EventHandlerService + - minos.networks.BrokerProducerService + - minos.networks.BrokerConsumerService + - minos.networks.BrokerHandlerService - minos.networks.RestService - - minos.networks.SnapshotService - - minos.networks.ProducerService - minos.networks.PeriodicTaskSchedulerService +middleware: + - minos.saga.transactional_command +services: + - minos.aggregate.TransactionService + - minos.aggregate.SnapshotService + - minos.saga.SagaService + - src.queries.{{ aggregate }}QueryService + - src.commands.{{ aggregate }}CommandService rest: host: {{ rest_host }} port: {{ rest_port }} @@ -47,12 +52,6 @@ snapshot: password: {{ database_password }} host: {{ database_host }} port: {{ database_port }} -events: - service: src.queries.{{ aggregate }}QueryService -queries: - service: src.queries.{{ aggregate }}QueryService -commands: - service: src.commands.{{ aggregate }}CommandService saga: storage: path: ./{{ name }}.lmdb diff --git a/microservice/language/python/init/copier.yml b/microservice/language/python/init/copier.yml index 9fc8433..e21466d 100644 --- a/microservice/language/python/init/copier.yml +++ b/microservice/language/python/init/copier.yml @@ -88,3 +88,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -s create-database \ No newline at end of file diff --git a/microservice/language/python/init/src/aggregates.py.jinja b/microservice/language/python/init/src/aggregates.py.jinja index 2947db6..90e0d5a 100644 --- a/microservice/language/python/init/src/aggregates.py.jinja +++ b/microservice/language/python/init/src/aggregates.py.jinja @@ -1,4 +1,4 @@ -from minos.common import ( +from minos.aggregate import ( Aggregate, ) diff --git a/microservice/language/python/init/src/commands/services.py.jinja b/microservice/language/python/init/src/commands/services.py.jinja index 82252f0..16619f1 100644 --- a/microservice/language/python/init/src/commands/services.py.jinja +++ b/microservice/language/python/init/src/commands/services.py.jinja @@ -25,8 +25,7 @@ class {{ aggregate }}CommandService(CommandService): :return: A ``Response`` instance. """ try: - content = await request.content() - obj = {{ aggregate }}(**content) - return Response(obj) - except Exception: - raise ResponseException("An error occurred during order creation.") + instance = await {{ aggregate }}.create() + return Response({"uuid": instance.uuid }) + except Exception as exc: + raise ResponseException(f"An error occurred during {{ aggregate }} creation: {exc}") diff --git a/microservice/language/python/init/src/queries/services.py.jinja b/microservice/language/python/init/src/queries/services.py.jinja index b952ad2..6c0bd9c 100644 --- a/microservice/language/python/init/src/queries/services.py.jinja +++ b/microservice/language/python/init/src/queries/services.py.jinja @@ -1,4 +1,4 @@ -from minos.common import ( +from minos.aggregate import ( AggregateDiff, ) from minos.cqrs import ( diff --git a/microservice/language/python/package-manager/poetry/Makefile.jinja b/microservice/language/python/package-manager/poetry/Makefile.jinja new file mode 100644 index 0000000..a278f17 --- /dev/null +++ b/microservice/language/python/package-manager/poetry/Makefile.jinja @@ -0,0 +1,4 @@ +{% include (destination / "Makefile").as_posix() %} + +lock: + poetry lock diff --git a/microservice/language/python/package-manager/poetry/copier.yml b/microservice/language/python/package-manager/poetry/copier.yml index bbe6219..ce5bdef 100644 --- a/microservice/language/python/package-manager/poetry/copier.yml +++ b/microservice/language/python/package-manager/poetry/copier.yml @@ -24,3 +24,6 @@ _envops: keep_trailing_newline: false _templates_suffix: .jinja + +_tasks: + - make -s lock \ No newline at end of file diff --git a/microservice/language/python/package-manager/poetry/pyproject.toml.jinja b/microservice/language/python/package-manager/poetry/pyproject.toml.jinja index ef858cf..52650aa 100644 --- a/microservice/language/python/package-manager/poetry/pyproject.toml.jinja +++ b/microservice/language/python/package-manager/poetry/pyproject.toml.jinja @@ -7,10 +7,11 @@ packages = [{ include = "src" }] [tool.poetry.dependencies] python = "^3.9" -minos-microservice-common = "^0.1.17" -minos-microservice-networks = ">=0.0.18<0.1" -minos-microservice-saga = "^0.1.0" -minos-microservice-cqrs = ">=0.0.6<0.1" +minos-microservice-common = "^0.3.2" +minos-microservice-networks = "^0.3.2" +minos-microservice-aggregate = "^0.2.2" +minos-microservice-saga = "^0.3.5" +minos-microservice-cqrs = "^0.2.1" typer = "^0.3.2" [tool.poetry.dev-dependencies] diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 022a963..5fc1786 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -9,13 +9,15 @@ build-pod: create-user: kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null + sleep 1 kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ psql -U postgres -tc "CREATE USER minos WITH ENCRYPTED PASSWORD 'min0s';" || true create-database: kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null + sleep 1 kubectl exec -it --namespace={{ project_name }} svc/postgres -- \ - psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" + psql -U postgres -tc "CREATE DATABASE $(DB_NAME) OWNER minos;" || true restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index cf6e4a3..98cb015 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -2,4 +2,5 @@ build: $(MAKE) build-namespace build-namespace: - kubectl apply -f namespace.yaml > /dev/null \ No newline at end of file + kubectl apply -f namespace.yaml > /dev/null + kubectl apply -f configmap_microservices.yaml > /dev/null \ No newline at end of file diff --git a/project/deploy/kubernetes/configmap_microservices.yaml.jinja b/project/deploy/kubernetes/configmap_microservices.yaml.jinja new file mode 100644 index 0000000..982a3ff --- /dev/null +++ b/project/deploy/kubernetes/configmap_microservices.yaml.jinja @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: microservices-config + namespace: {{ project_name }} + labels: + app: microservice +data: + MINOS_BROKER_QUEUE_HOST: "postgres.{{ project_name }}.svc.cluster.local" + MINOS_BROKER_HOST: "kafka.{{ project_name }}.svc.cluster.local" + MINOS_REPOSITORY_HOST: "postgres.{{ project_name }}.svc.cluster.local" + MINOS_SNAPSHOT_HOST: "postgres.{{ project_name }}.svc.cluster.local" + MINOS_DISCOVERY_HOST: "minos-discovery.{{ project_name }}.svc.cluster.local" From ee4ee5db431be1ea0f8a4729531a6d6f82960c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 12:41:07 +0100 Subject: [PATCH 63/89] ISSUE #1 * Add discovery port. --- project/deploy/kubernetes/configmap_microservices.yaml.jinja | 1 + 1 file changed, 1 insertion(+) diff --git a/project/deploy/kubernetes/configmap_microservices.yaml.jinja b/project/deploy/kubernetes/configmap_microservices.yaml.jinja index 982a3ff..4637c09 100644 --- a/project/deploy/kubernetes/configmap_microservices.yaml.jinja +++ b/project/deploy/kubernetes/configmap_microservices.yaml.jinja @@ -11,3 +11,4 @@ data: MINOS_REPOSITORY_HOST: "postgres.{{ project_name }}.svc.cluster.local" MINOS_SNAPSHOT_HOST: "postgres.{{ project_name }}.svc.cluster.local" MINOS_DISCOVERY_HOST: "minos-discovery.{{ project_name }}.svc.cluster.local" + MINOS_DISCOVERY_PORT: "5567" From fed8d5a31eb76ddbf949f244078642159629ab9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 12:42:44 +0100 Subject: [PATCH 64/89] ISSUE #1 * Create `deploy` directory on project root. --- project/deploy/kubernetes/Makefile | 4 ++-- .../{ => deploy}/configmap_microservices.yaml.jinja | 0 project/deploy/kubernetes/{ => deploy}/namespace.yaml.jinja | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename project/deploy/kubernetes/{ => deploy}/configmap_microservices.yaml.jinja (100%) rename project/deploy/kubernetes/{ => deploy}/namespace.yaml.jinja (100%) diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index 98cb015..48a7e62 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -2,5 +2,5 @@ build: $(MAKE) build-namespace build-namespace: - kubectl apply -f namespace.yaml > /dev/null - kubectl apply -f configmap_microservices.yaml > /dev/null \ No newline at end of file + kubectl apply -f deploy/namespace.yaml > /dev/null + kubectl apply -f deploy/configmap_microservices.yaml > /dev/null \ No newline at end of file diff --git a/project/deploy/kubernetes/configmap_microservices.yaml.jinja b/project/deploy/kubernetes/deploy/configmap_microservices.yaml.jinja similarity index 100% rename from project/deploy/kubernetes/configmap_microservices.yaml.jinja rename to project/deploy/kubernetes/deploy/configmap_microservices.yaml.jinja diff --git a/project/deploy/kubernetes/namespace.yaml.jinja b/project/deploy/kubernetes/deploy/namespace.yaml.jinja similarity index 100% rename from project/deploy/kubernetes/namespace.yaml.jinja rename to project/deploy/kubernetes/deploy/namespace.yaml.jinja From 573d80e237db7f18e665896f2398203da15db810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 13:25:49 +0100 Subject: [PATCH 65/89] ISSUE #1 * Add storage volume for `redis`. * Add storage volume for `postgres`. --- .../kubernetes/external/postgres/deployment.yaml.jinja | 8 +++++++- .../kubernetes/external/redis/deployment.yaml.jinja | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja index 972f12b..b3c5e18 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja @@ -21,4 +21,10 @@ spec: - containerPort: 5432 envFrom: - configMapRef: - name: postgres-config \ No newline at end of file + name: postgres-config + volumeMounts: + - name: postgres-storage + mountPath: /var/lib/postgresql + volumes: + - name: postgres-storage + emptyDir: {} \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja index e5c1f49..1b9faa3 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja @@ -18,4 +18,10 @@ spec: image: redis:latest imagePullPolicy: Always ports: - - containerPort: 6379 \ No newline at end of file + - containerPort: 6379 + volumeMounts: + - name: redis-storage + mountPath: /data/redis + volumes: + - name: redis-storage + emptyDir: {} \ No newline at end of file From 763bdcdd1572c7c96da7cb6ada1fae22f7c4c409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 13:51:01 +0100 Subject: [PATCH 66/89] Revert "ISSUE #1" This reverts commit 573d80e237db7f18e665896f2398203da15db810. --- .../kubernetes/external/postgres/deployment.yaml.jinja | 8 +------- .../kubernetes/external/redis/deployment.yaml.jinja | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja index b3c5e18..972f12b 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja @@ -21,10 +21,4 @@ spec: - containerPort: 5432 envFrom: - configMapRef: - name: postgres-config - volumeMounts: - - name: postgres-storage - mountPath: /var/lib/postgresql - volumes: - - name: postgres-storage - emptyDir: {} \ No newline at end of file + name: postgres-config \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja index 1b9faa3..e5c1f49 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja @@ -18,10 +18,4 @@ spec: image: redis:latest imagePullPolicy: Always ports: - - containerPort: 6379 - volumeMounts: - - name: redis-storage - mountPath: /data/redis - volumes: - - name: redis-storage - emptyDir: {} \ No newline at end of file + - containerPort: 6379 \ No newline at end of file From 72c95f4ea919ef5f10e45f17b8133f04b08ff63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 14:11:55 +0100 Subject: [PATCH 67/89] ISSUE #1 * Add `deploy/` directory. --- .../deploy/kubernetes/external/apigateway/Makefile.jinja | 8 ++++---- .../external/apigateway/{ => deploy}/configmap.yaml.jinja | 0 .../apigateway/{ => deploy}/deployment.yaml.jinja | 0 .../external/apigateway/{ => deploy}/ingress.yaml.jinja | 0 .../external/apigateway/{ => deploy}/service.yaml.jinja | 0 .../kafka/deploy/kubernetes/external/kafka/Makefile.jinja | 6 +++--- .../external/kafka/{ => deploy}/configmap.yaml.jinja | 0 .../external/kafka/{ => deploy}/deployment.yaml.jinja | 0 .../external/kafka/{ => deploy}/service.yaml.jinja | 0 .../deploy/kubernetes/external/zookeeper/Makefile.jinja | 4 ++-- .../external/zookeeper/{ => deploy}/deployment.yaml.jinja | 0 .../external/zookeeper/{ => deploy}/service.yaml.jinja | 0 .../deploy/kubernetes/external/postgres/Makefile.jinja | 6 +++--- .../external/postgres/{ => deploy}/configmap.yaml.jinja | 0 .../external/postgres/{ => deploy}/deployment.yaml.jinja | 0 .../external/postgres/{ => deploy}/service.yaml.jinja | 0 .../redis/deploy/kubernetes/external/redis/Makefile.jinja | 4 ++-- .../external/redis/{ => deploy}/deployment.yaml.jinja | 0 .../external/redis/{ => deploy}/service.yaml.jinja | 0 .../deploy/kubernetes/external/discovery/Makefile.jinja | 6 +++--- .../external/discovery/{ => deploy}/configmap.yaml.jinja | 0 .../external/discovery/{ => deploy}/deployment.yaml.jinja | 0 .../external/discovery/{ => deploy}/service.yaml.jinja | 0 23 files changed, 17 insertions(+), 17 deletions(-) rename project/apigateway/minos/deploy/kubernetes/external/apigateway/{ => deploy}/configmap.yaml.jinja (100%) rename project/apigateway/minos/deploy/kubernetes/external/apigateway/{ => deploy}/deployment.yaml.jinja (100%) rename project/apigateway/minos/deploy/kubernetes/external/apigateway/{ => deploy}/ingress.yaml.jinja (100%) rename project/apigateway/minos/deploy/kubernetes/external/apigateway/{ => deploy}/service.yaml.jinja (100%) rename project/broker/kafka/deploy/kubernetes/external/kafka/{ => deploy}/configmap.yaml.jinja (100%) rename project/broker/kafka/deploy/kubernetes/external/kafka/{ => deploy}/deployment.yaml.jinja (100%) rename project/broker/kafka/deploy/kubernetes/external/kafka/{ => deploy}/service.yaml.jinja (100%) rename project/broker/kafka/deploy/kubernetes/external/zookeeper/{ => deploy}/deployment.yaml.jinja (100%) rename project/broker/kafka/deploy/kubernetes/external/zookeeper/{ => deploy}/service.yaml.jinja (100%) rename project/database/postgres/deploy/kubernetes/external/postgres/{ => deploy}/configmap.yaml.jinja (100%) rename project/database/postgres/deploy/kubernetes/external/postgres/{ => deploy}/deployment.yaml.jinja (100%) rename project/database/postgres/deploy/kubernetes/external/postgres/{ => deploy}/service.yaml.jinja (100%) rename project/database/redis/deploy/kubernetes/external/redis/{ => deploy}/deployment.yaml.jinja (100%) rename project/database/redis/deploy/kubernetes/external/redis/{ => deploy}/service.yaml.jinja (100%) rename project/discovery/minos/deploy/kubernetes/external/discovery/{ => deploy}/configmap.yaml.jinja (100%) rename project/discovery/minos/deploy/kubernetes/external/discovery/{ => deploy}/deployment.yaml.jinja (100%) rename project/discovery/minos/deploy/kubernetes/external/discovery/{ => deploy}/service.yaml.jinja (100%) diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja index ee4526c..a6b63a1 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja @@ -1,8 +1,8 @@ build: - kubectl apply -f configmap.yaml > /dev/null - kubectl apply -f service.yaml > /dev/null - kubectl apply -f deployment.yaml > /dev/null - kubectl apply -f ingress.yaml > /dev/null + kubectl apply -f deploy/configmap.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null + kubectl apply -f deploy/deployment.yaml > /dev/null + kubectl apply -f deploy/ingress.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-apigateway > /dev/null diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/configmap.yaml.jinja similarity index 100% rename from project/apigateway/minos/deploy/kubernetes/external/apigateway/configmap.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/configmap.yaml.jinja diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deployment.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/deployment.yaml.jinja similarity index 100% rename from project/apigateway/minos/deploy/kubernetes/external/apigateway/deployment.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/deployment.yaml.jinja diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/ingress.yaml.jinja similarity index 100% rename from project/apigateway/minos/deploy/kubernetes/external/apigateway/ingress.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/ingress.yaml.jinja diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/service.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja similarity index 100% rename from project/apigateway/minos/deploy/kubernetes/external/apigateway/service.yaml.jinja rename to project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index 9ee9eb2..e0241bd 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -1,7 +1,7 @@ build: - kubectl apply -f configmap.yaml > /dev/null - kubectl apply -f service.yaml > /dev/null - kubectl apply -f deployment.yaml > /dev/null + kubectl apply -f deploy/configmap.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null + kubectl apply -f deploy/deployment.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment kafka > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja similarity index 100% rename from project/broker/kafka/deploy/kubernetes/external/kafka/configmap.yaml.jinja rename to project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja similarity index 100% rename from project/broker/kafka/deploy/kubernetes/external/kafka/deployment.yaml.jinja rename to project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja similarity index 100% rename from project/broker/kafka/deploy/kubernetes/external/kafka/service.yaml.jinja rename to project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index c0353ae..695ab33 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -1,6 +1,6 @@ build: - kubectl apply -f service.yaml > /dev/null - kubectl apply -f deployment.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null + kubectl apply -f deploy/deployment.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment zookeeper > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/deployment.yaml.jinja similarity index 100% rename from project/broker/kafka/deploy/kubernetes/external/zookeeper/deployment.yaml.jinja rename to project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/deployment.yaml.jinja diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja similarity index 100% rename from project/broker/kafka/deploy/kubernetes/external/zookeeper/service.yaml.jinja rename to project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 5fc1786..f4f07b1 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -3,9 +3,9 @@ build: $(MAKE) create-user build-pod: - kubectl apply -f configmap.yaml > /dev/null - kubectl apply -f service.yaml > /dev/null - kubectl apply -f deployment.yaml > /dev/null + kubectl apply -f deploy/configmap.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null + kubectl apply -f deploy/deployment.yaml > /dev/null create-user: kubectl wait --for=condition=available --namespace={{ project_name }} deployment/postgres > /dev/null diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/configmap.yaml.jinja similarity index 100% rename from project/database/postgres/deploy/kubernetes/external/postgres/configmap.yaml.jinja rename to project/database/postgres/deploy/kubernetes/external/postgres/deploy/configmap.yaml.jinja diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/deployment.yaml.jinja similarity index 100% rename from project/database/postgres/deploy/kubernetes/external/postgres/deployment.yaml.jinja rename to project/database/postgres/deploy/kubernetes/external/postgres/deploy/deployment.yaml.jinja diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja similarity index 100% rename from project/database/postgres/deploy/kubernetes/external/postgres/service.yaml.jinja rename to project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja index 8f19909..5f39fe8 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -1,6 +1,6 @@ build: - kubectl apply -f service.yaml > /dev/null - kubectl apply -f deployment.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null + kubectl apply -f deploy/deployment.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment redis > /dev/null diff --git a/project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deploy/deployment.yaml.jinja similarity index 100% rename from project/database/redis/deploy/kubernetes/external/redis/deployment.yaml.jinja rename to project/database/redis/deploy/kubernetes/external/redis/deploy/deployment.yaml.jinja diff --git a/project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja similarity index 100% rename from project/database/redis/deploy/kubernetes/external/redis/service.yaml.jinja rename to project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index 74e94a3..ebfedbe 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -1,7 +1,7 @@ build: - kubectl apply -f configmap.yaml > /dev/null - kubectl apply -f service.yaml > /dev/null - kubectl apply -f deployment.yaml > /dev/null + kubectl apply -f deploy/configmap.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null + kubectl apply -f deploy/deployment.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-discovery > /dev/null diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/configmap.yaml.jinja similarity index 100% rename from project/discovery/minos/deploy/kubernetes/external/discovery/configmap.yaml.jinja rename to project/discovery/minos/deploy/kubernetes/external/discovery/deploy/configmap.yaml.jinja diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/deployment.yaml.jinja similarity index 100% rename from project/discovery/minos/deploy/kubernetes/external/discovery/deployment.yaml.jinja rename to project/discovery/minos/deploy/kubernetes/external/discovery/deploy/deployment.yaml.jinja diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja similarity index 100% rename from project/discovery/minos/deploy/kubernetes/external/discovery/service.yaml.jinja rename to project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja From 5274b41f3bfa4d109c2994d6e86dd0a35d2f1720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 15:25:09 +0100 Subject: [PATCH 68/89] ISSUE #1 * Rename `microservices-config` as `microservice-config`. * Rename microservice generated name. --- .../language/python/deploy/kubernetes/Makefile.jinja | 8 ++++---- .../language/python/deploy/kubernetes/copier.yml | 3 ++- .../deploy/kubernetes/deploy/deployment.yaml.jinja | 10 +++++----- .../python/deploy/kubernetes/deploy/service.yaml.jinja | 4 ++-- project/deploy/kubernetes/Makefile | 2 +- ...es.yaml.jinja => configmap_microservice.yaml.jinja} | 2 +- 6 files changed, 15 insertions(+), 14 deletions(-) rename project/deploy/kubernetes/deploy/{configmap_microservices.yaml.jinja => configmap_microservice.yaml.jinja} (94%) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 112916c..91064b9 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -5,13 +5,13 @@ build: $(MAKE) build-config build-image: - docker build --pull -t {{ project_name }}-{{ name }} -f deploy/Dockerfile . - docker tag {{ project_name }}-{{ name }}:latest {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} - docker push {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} + docker build --pull -t microservice-{{ name }} -f deploy/Dockerfile . + docker tag microservice-{{ name }}:latest {{ kubernetes_registry }}/microservice-{{ name }}:{{ version }} + docker push {{ kubernetes_registry }}/microservice-{{ name }}:{{ version }} build-config: kubectl apply -f deploy/deployment.yaml kubectl apply -f deploy/service.yaml restart: - kubectl rollout restart --namespace={{ project_name }} deployment/{{ project_name }}-{{ name }} > /dev/null + kubectl rollout restart --namespace={{ project_name }} deployment/microservice-{{ name }} > /dev/null diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml index 9715012..8cd9eda 100644 --- a/microservice/language/python/deploy/kubernetes/copier.yml +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -13,10 +13,11 @@ rest_port: help: What is the rest's port? kubernetes_config: type: str - default: microservices-config + default: microservice-config help: What is the kubernetes config? kubernetes_registry: type: str + default: "localhost:5000" help: What is the kubernetes registry? _envops: diff --git a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja index d58372d..d4823ca 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja @@ -1,21 +1,21 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ project_name }}-{{ name }} + name: microservice-{{ name }} namespace: {{ project_name }} spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: {{ project_name }}-{{ name }} + app.kubernetes.io/name: microservice-{{ name }} template: metadata: labels: - app.kubernetes.io/name: {{ project_name }}-{{ name }} + app.kubernetes.io/name: microservice-{{ name }} spec: containers: - - name: {{ project_name }}-{{ name }} - image: {{ kubernetes_registry }}/{{ project_name }}-{{ name }}:{{ version }} + - name: microservice-{{ name }} + image: {{ kubernetes_registry }}/microservice-{{ name }}:{{ version }} imagePullPolicy: Always ports: - containerPort: {{ rest_port }} diff --git a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja index cb6174b..65c2779 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ project_name }}-{{ name }} + name: microservice-{{ name }} namespace: {{ project_name }} spec: type: ClusterIP @@ -9,4 +9,4 @@ spec: - port: {{ rest_port }} targetPort: {{ rest_port }} selector: - app.kubernetes.io/name: {{ project_name }}-{{ name }} \ No newline at end of file + app.kubernetes.io/name: microservice-{{ name }} \ No newline at end of file diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index 48a7e62..96cd83f 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -3,4 +3,4 @@ build: build-namespace: kubectl apply -f deploy/namespace.yaml > /dev/null - kubectl apply -f deploy/configmap_microservices.yaml > /dev/null \ No newline at end of file + kubectl apply -f deploy/configmap_microservice.yaml > /dev/null \ No newline at end of file diff --git a/project/deploy/kubernetes/deploy/configmap_microservices.yaml.jinja b/project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja similarity index 94% rename from project/deploy/kubernetes/deploy/configmap_microservices.yaml.jinja rename to project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja index 4637c09..2313a57 100644 --- a/project/deploy/kubernetes/deploy/configmap_microservices.yaml.jinja +++ b/project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja @@ -1,7 +1,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: microservices-config + name: microservice-config namespace: {{ project_name }} labels: app: microservice From 567708eb621ba0d0dfd821a77b158bf2e1ffe5df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 16:26:23 +0100 Subject: [PATCH 69/89] ISSUE #1 * Add `make logs` rule. --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 3 +++ .../minos/deploy/kubernetes/external/apigateway/Makefile.jinja | 3 +++ .../kafka/deploy/kubernetes/external/kafka/Makefile.jinja | 3 +++ .../kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja | 3 +++ .../deploy/kubernetes/external/postgres/Makefile.jinja | 3 +++ .../redis/deploy/kubernetes/external/redis/Makefile.jinja | 3 +++ .../minos/deploy/kubernetes/external/discovery/Makefile.jinja | 3 +++ 7 files changed, 21 insertions(+) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 91064b9..1b4d381 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -15,3 +15,6 @@ build-config: restart: kubectl rollout restart --namespace={{ project_name }} deployment/microservice-{{ name }} > /dev/null + +logs: + kubectl logs svc/microservice-{{ name }} --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja index a6b63a1..1b7870b 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja @@ -6,3 +6,6 @@ build: restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-apigateway > /dev/null + +logs: + kubectl logs svc/minos-apigateway --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index e0241bd..baab4a4 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -5,3 +5,6 @@ build: restart: kubectl rollout restart --namespace={{ project_name }} deployment kafka > /dev/null + +logs: + kubectl logs svc/kafka --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index 695ab33..cf14c47 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -4,3 +4,6 @@ build: restart: kubectl rollout restart --namespace={{ project_name }} deployment zookeeper > /dev/null + +logs: + kubectl logs svc/zookeeper --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index f4f07b1..e106807 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -21,3 +21,6 @@ create-database: restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null + +logs: + kubectl logs svc/postgres --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja index 5f39fe8..0448351 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -4,3 +4,6 @@ build: restart: kubectl rollout restart --namespace={{ project_name }} deployment redis > /dev/null + +logs: + kubectl logs svc/redis --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index ebfedbe..897dfe7 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -5,3 +5,6 @@ build: restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-discovery > /dev/null + +logs: + kubectl logs svc/minos-discovery --namespace=={{ project_name }} --follow --tail 1000 From 6dfe2fa0a6d85e5945e655b2bc563f79e09b2faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 16:48:14 +0100 Subject: [PATCH 70/89] ISSUE #1 * Fix bug related with indentation. --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 2 +- .../minos/deploy/kubernetes/external/apigateway/Makefile.jinja | 2 +- .../kafka/deploy/kubernetes/external/kafka/Makefile.jinja | 2 +- .../kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja | 2 +- .../postgres/deploy/kubernetes/external/postgres/Makefile.jinja | 2 +- .../redis/deploy/kubernetes/external/redis/Makefile.jinja | 2 +- .../minos/deploy/kubernetes/external/discovery/Makefile.jinja | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 1b4d381..2aa0b97 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -17,4 +17,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment/microservice-{{ name }} > /dev/null logs: - kubectl logs svc/microservice-{{ name }} --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/microservice-{{ name }} --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja index 1b7870b..c9ba1dc 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja @@ -8,4 +8,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-apigateway > /dev/null logs: - kubectl logs svc/minos-apigateway --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/minos-apigateway --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index baab4a4..154520c 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -7,4 +7,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment kafka > /dev/null logs: - kubectl logs svc/kafka --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/kafka --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index cf14c47..43c3e56 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -6,4 +6,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment zookeeper > /dev/null logs: - kubectl logs svc/zookeeper --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/zookeeper --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index e106807..274bfcb 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -23,4 +23,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null logs: - kubectl logs svc/postgres --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/postgres --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja index 0448351..2d53ce7 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -6,4 +6,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment redis > /dev/null logs: - kubectl logs svc/redis --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/redis --namespace=={{ project_name }} --follow --tail 1000 diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index 897dfe7..e47bffd 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -7,4 +7,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-discovery > /dev/null logs: - kubectl logs svc/minos-discovery --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/minos-discovery --namespace=={{ project_name }} --follow --tail 1000 From 4633a3e070fcaceb9e8caedbacd693a1a064c87c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Wed, 29 Dec 2021 16:51:09 +0100 Subject: [PATCH 71/89] ISSUE #1 * Fix bug related with argument. --- microservice/language/python/deploy/kubernetes/Makefile.jinja | 2 +- .../minos/deploy/kubernetes/external/apigateway/Makefile.jinja | 2 +- .../kafka/deploy/kubernetes/external/kafka/Makefile.jinja | 2 +- .../kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja | 2 +- .../postgres/deploy/kubernetes/external/postgres/Makefile.jinja | 2 +- .../redis/deploy/kubernetes/external/redis/Makefile.jinja | 2 +- .../minos/deploy/kubernetes/external/discovery/Makefile.jinja | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 2aa0b97..6e8ad8f 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -17,4 +17,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment/microservice-{{ name }} > /dev/null logs: - kubectl logs svc/microservice-{{ name }} --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/microservice-{{ name }} --namespace={{ project_name }} --follow --tail 1000 diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja index c9ba1dc..956631e 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja @@ -8,4 +8,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-apigateway > /dev/null logs: - kubectl logs svc/minos-apigateway --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/minos-apigateway --namespace={{ project_name }} --follow --tail 1000 diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index 154520c..c0355a2 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -7,4 +7,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment kafka > /dev/null logs: - kubectl logs svc/kafka --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/kafka --namespace={{ project_name }} --follow --tail 1000 diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index 43c3e56..c71e734 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -6,4 +6,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment zookeeper > /dev/null logs: - kubectl logs svc/zookeeper --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/zookeeper --namespace={{ project_name }} --follow --tail 1000 diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 274bfcb..8d60275 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -23,4 +23,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment/postgres > /dev/null logs: - kubectl logs svc/postgres --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/postgres --namespace={{ project_name }} --follow --tail 1000 diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja index 2d53ce7..3651d4b 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -6,4 +6,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment redis > /dev/null logs: - kubectl logs svc/redis --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/redis --namespace={{ project_name }} --follow --tail 1000 diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index e47bffd..5de77a6 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -7,4 +7,4 @@ restart: kubectl rollout restart --namespace={{ project_name }} deployment minos-discovery > /dev/null logs: - kubectl logs svc/minos-discovery --namespace=={{ project_name }} --follow --tail 1000 + kubectl logs svc/minos-discovery --namespace={{ project_name }} --follow --tail 1000 From cd8aec2f4ac4c1b9b133f3b238a1dd80389ca97d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:14:44 +0100 Subject: [PATCH 72/89] ISSUE #1 * Fix bug related with kafka's advertising host name. --- .../kafka/deploy/kubernetes/external/kafka/Makefile.jinja | 2 +- .../kubernetes/external/kafka/deploy/configmap.yaml.jinja | 8 +++----- .../external/kafka/deploy/deployment.yaml.jinja | 7 ++++++- .../kubernetes/external/kafka/deploy/service.yaml.jinja | 3 +-- .../deploy/kubernetes/external/zookeeper/Makefile.jinja | 2 +- .../external/zookeeper/deploy/service.yaml.jinja | 3 +-- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index c0355a2..4823cc1 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -1,7 +1,7 @@ build: kubectl apply -f deploy/configmap.yaml > /dev/null - kubectl apply -f deploy/service.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment kafka > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja index 290b151..b55ee07 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja @@ -6,8 +6,6 @@ metadata: labels: app: kafka data: - KAFKA_DELETE_TOPIC_ENABLE: "true" - KAFKA_PORT: "9092" - KAFKA_ADVERTISED_HOST_NAME: "kafka.{{ project_name }}.svc.cluster.local" - KAFKA_ADVERTISED_PORT: "9092" - KAFKA_ZOOKEEPER_CONNECT: "zookeeper.{{ project_name }}.svc.cluster.local:2181" \ No newline at end of file + KAFKA_DELETE_TOPIC_ENABLE: "true" + KAFKA_PORT: "9092" + KAFKA_ZOOKEEPER_CONNECT: "zookeeper.{{ project_name }}.svc.cluster.local:2181" \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja index 1e20c47..e259053 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja @@ -21,4 +21,9 @@ spec: - containerPort: 9092 envFrom: - configMapRef: - name: kafka-config \ No newline at end of file + name: kafka-config + env: + - name: KAFKA_ADVERTISED_HOST_NAME + valueFrom: + fieldRef: + fieldPath: status.podIP \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja index 019f946..3b6e13c 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: 9092 - targetPort: 9092 selector: - app.kubernetes.io/name: kafka \ No newline at end of file + app.kubernetes.io/name: kafka \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index c71e734..769e065 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -1,6 +1,6 @@ build: - kubectl apply -f deploy/service.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null + kubectl apply -f deploy/service.yaml > /dev/null restart: kubectl rollout restart --namespace={{ project_name }} deployment zookeeper > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja index 241aa00..bfa9948 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: 2181 - targetPort: 2181 selector: - app.kubernetes.io/name: zookeeper \ No newline at end of file + app.kubernetes.io/name: zookeeper \ No newline at end of file From ab69949cd91934ea909fe60f8a0fa9b6f0971a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:16:59 +0100 Subject: [PATCH 73/89] ISSUE #1 * Remove `targetPort` from services config as it's being used the same value as `port`. --- .../language/python/deploy/kubernetes/deploy/service.yaml.jinja | 1 - .../kubernetes/external/apigateway/deploy/service.yaml.jinja | 1 - .../kubernetes/external/postgres/deploy/service.yaml.jinja | 1 - .../deploy/kubernetes/external/redis/deploy/service.yaml.jinja | 1 - .../kubernetes/external/discovery/deploy/service.yaml.jinja | 1 - 5 files changed, 5 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja index 65c2779..691e50a 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: {{ rest_port }} - targetPort: {{ rest_port }} selector: app.kubernetes.io/name: microservice-{{ name }} \ No newline at end of file diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja index 52717b0..a073868 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: 5566 - targetPort: 5566 selector: app.kubernetes.io/name: minos-apigateway \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja index ee59514..a58eccb 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: 5432 - targetPort: 5432 selector: app.kubernetes.io/name: postgres \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja index 73b7028..695506e 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: 6379 - targetPort: 6379 selector: app.kubernetes.io/name: redis \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja index abb20f0..064d2ee 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja @@ -7,6 +7,5 @@ spec: type: ClusterIP ports: - port: 5567 - targetPort: 5567 selector: app.kubernetes.io/name: minos-discovery \ No newline at end of file From 07eec3a08754393e4313e440239668ab7da714bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:18:55 +0100 Subject: [PATCH 74/89] ISSUE #1 * Add `.dockerignore`. --- microservice/language/python/deploy/kubernetes/.dockerignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 microservice/language/python/deploy/kubernetes/.dockerignore diff --git a/microservice/language/python/deploy/kubernetes/.dockerignore b/microservice/language/python/deploy/kubernetes/.dockerignore new file mode 100644 index 0000000..2a3553c --- /dev/null +++ b/microservice/language/python/deploy/kubernetes/.dockerignore @@ -0,0 +1,3 @@ +.venv +*.lmdb +dist/ \ No newline at end of file From 3d2d9ba90ab35410c8407495fc070bfeec0fc452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:21:58 +0100 Subject: [PATCH 75/89] ISSUE #1 * Rename `docker` template as `docker-compose`. --- build.sh | 4 ++-- .../python/deploy/{docker => docker-compose}/.dockerignore | 0 .../python/deploy/{docker => docker-compose}/Dockerfile | 0 .../python/deploy/{docker => docker-compose}/copier.yml | 0 microservice/language/python/init/copier.yml | 4 ++-- 5 files changed, 4 insertions(+), 4 deletions(-) rename microservice/language/python/deploy/{docker => docker-compose}/.dockerignore (100%) rename microservice/language/python/deploy/{docker => docker-compose}/Dockerfile (100%) rename microservice/language/python/deploy/{docker => docker-compose}/copier.yml (100%) diff --git a/build.sh b/build.sh index 4fac634..4811e99 100755 --- a/build.sh +++ b/build.sh @@ -19,8 +19,8 @@ tar -czf "$BUILD_DIR/microservice-python-package-manager-poetry.tar.gz" -C "$ROO echo "Building Microservice Python Package Manager Pip Template..." tar -czf "$BUILD_DIR/microservice-python-package-manager-pip.tar.gz" -C "$ROOT_DIR/microservice/language/python/package-manager/pip" . -echo "Building Microservice Python Deploy Docker Template..." -tar -czf "$BUILD_DIR/microservice-python-deploy-docker.tar.gz" -C "$ROOT_DIR/microservice/language/python/deploy/docker" . +echo "Building Microservice Python Deploy Docker Compose Template..." +tar -czf "$BUILD_DIR/microservice-python-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/microservice/language/python/deploy/docker-compose" . echo "Building Microservice Python Deploy Kubernetes Template..." tar -czf "$BUILD_DIR/microservice-python-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/microservice/language/python/deploy/kubernetes" . diff --git a/microservice/language/python/deploy/docker/.dockerignore b/microservice/language/python/deploy/docker-compose/.dockerignore similarity index 100% rename from microservice/language/python/deploy/docker/.dockerignore rename to microservice/language/python/deploy/docker-compose/.dockerignore diff --git a/microservice/language/python/deploy/docker/Dockerfile b/microservice/language/python/deploy/docker-compose/Dockerfile similarity index 100% rename from microservice/language/python/deploy/docker/Dockerfile rename to microservice/language/python/deploy/docker-compose/Dockerfile diff --git a/microservice/language/python/deploy/docker/copier.yml b/microservice/language/python/deploy/docker-compose/copier.yml similarity index 100% rename from microservice/language/python/deploy/docker/copier.yml rename to microservice/language/python/deploy/docker-compose/copier.yml diff --git a/microservice/language/python/init/copier.yml b/microservice/language/python/init/copier.yml index e21466d..d74250b 100644 --- a/microservice/language/python/init/copier.yml +++ b/microservice/language/python/init/copier.yml @@ -74,9 +74,9 @@ deploy: link: true help: What deploy system do you want to use? choices: - docker: &docker_url "{{ template_registry }}/microservice-python-deploy-docker.tar.gz" + docker_compose: &docker_compose_url "{{ template_registry }}/microservice-python-deploy-docker-compose.tar.gz" kubernetes: "{{ template_registry }}/microservice-python-deploy-kubernetes.tar.gz" - default: *docker_url + default: *docker_compose_url _envops: block_start_string: "{%" From 827086867c41a4c07097e56acca64fa409592532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:23:47 +0100 Subject: [PATCH 76/89] ISSUE #1 * Move `Dockerfile` to `deploy` directory. --- .../language/python/deploy/docker-compose/{ => deploy}/Dockerfile | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename microservice/language/python/deploy/docker-compose/{ => deploy}/Dockerfile (100%) diff --git a/microservice/language/python/deploy/docker-compose/Dockerfile b/microservice/language/python/deploy/docker-compose/deploy/Dockerfile similarity index 100% rename from microservice/language/python/deploy/docker-compose/Dockerfile rename to microservice/language/python/deploy/docker-compose/deploy/Dockerfile From 54a692ffef857838a862cee9cee4444fab592a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:37:23 +0100 Subject: [PATCH 77/89] ISSUE #1 * Rename `build` as `deploy` --- .../language/python/deploy/kubernetes/Makefile.jinja | 12 +++++++----- .../language/python/deploy/kubernetes/copier.yml | 2 +- .../apigateway/minos/deploy/kubernetes/copier.yml | 2 +- .../kubernetes/external/apigateway/Makefile.jinja | 4 +++- project/broker/kafka/deploy/kubernetes/copier.yml | 4 ++-- .../deploy/kubernetes/external/kafka/Makefile.jinja | 4 +++- .../kubernetes/external/zookeeper/Makefile.jinja | 4 +++- .../database/postgres/deploy/kubernetes/copier.yml | 2 +- .../kubernetes/external/postgres/Makefile.jinja | 8 +++++--- project/database/redis/deploy/kubernetes/copier.yml | 2 +- .../deploy/kubernetes/external/redis/Makefile.jinja | 4 +++- project/deploy/kubernetes/Makefile | 8 +++++--- project/deploy/kubernetes/copier.yml | 2 +- project/discovery/minos/deploy/kubernetes/copier.yml | 2 +- .../kubernetes/external/discovery/Makefile.jinja | 4 +++- 15 files changed, 40 insertions(+), 24 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/Makefile.jinja b/microservice/language/python/deploy/kubernetes/Makefile.jinja index 6e8ad8f..fcd35b9 100644 --- a/microservice/language/python/deploy/kubernetes/Makefile.jinja +++ b/microservice/language/python/deploy/kubernetes/Makefile.jinja @@ -1,15 +1,17 @@ +.PHONY: deploy + {% include (destination / "Makefile").as_posix() %} -build: - $(MAKE) build-image - $(MAKE) build-config +deploy: + $(MAKE) deploy-image + $(MAKE) deploy-config -build-image: +deploy-image: docker build --pull -t microservice-{{ name }} -f deploy/Dockerfile . docker tag microservice-{{ name }}:latest {{ kubernetes_registry }}/microservice-{{ name }}:{{ version }} docker push {{ kubernetes_registry }}/microservice-{{ name }}:{{ version }} -build-config: +deploy-config: kubectl apply -f deploy/deployment.yaml kubectl apply -f deploy/service.yaml diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml index 8cd9eda..8cf7317 100644 --- a/microservice/language/python/deploy/kubernetes/copier.yml +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -32,4 +32,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s build \ No newline at end of file + - make -s deploy \ No newline at end of file diff --git a/project/apigateway/minos/deploy/kubernetes/copier.yml b/project/apigateway/minos/deploy/kubernetes/copier.yml index 356a6d9..597f501 100644 --- a/project/apigateway/minos/deploy/kubernetes/copier.yml +++ b/project/apigateway/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/apigateway build \ No newline at end of file + - make -s -C external/apigateway deploy \ No newline at end of file diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja index 956631e..8b1cfb2 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/Makefile.jinja @@ -1,4 +1,6 @@ -build: +.PHONY: deploy + +deploy: kubectl apply -f deploy/configmap.yaml > /dev/null kubectl apply -f deploy/service.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/copier.yml b/project/broker/kafka/deploy/kubernetes/copier.yml index 586fba4..a553217 100644 --- a/project/broker/kafka/deploy/kubernetes/copier.yml +++ b/project/broker/kafka/deploy/kubernetes/copier.yml @@ -14,5 +14,5 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/zookeeper build - - make -s -C external/kafka build \ No newline at end of file + - make -s -C external/zookeeper deploy + - make -s -C external/kafka deploy \ No newline at end of file diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja index 4823cc1..5132e0b 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/Makefile.jinja @@ -1,4 +1,6 @@ -build: +.PHONY: deploy + +deploy: kubectl apply -f deploy/configmap.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null kubectl apply -f deploy/service.yaml > /dev/null diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja index 769e065..e998df2 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/Makefile.jinja @@ -1,4 +1,6 @@ -build: +.PHONY: deploy + +deploy: kubectl apply -f deploy/deployment.yaml > /dev/null kubectl apply -f deploy/service.yaml > /dev/null diff --git a/project/database/postgres/deploy/kubernetes/copier.yml b/project/database/postgres/deploy/kubernetes/copier.yml index cd51975..b6a3f69 100644 --- a/project/database/postgres/deploy/kubernetes/copier.yml +++ b/project/database/postgres/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/postgres build \ No newline at end of file + - make -s -C external/postgres deploy \ No newline at end of file diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja index 8d60275..4dd4add 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/Makefile.jinja @@ -1,8 +1,10 @@ -build: - $(MAKE) build-pod +.PHONY: deploy + +deploy: + $(MAKE) deploy-pod $(MAKE) create-user -build-pod: +deploy-pod: kubectl apply -f deploy/configmap.yaml > /dev/null kubectl apply -f deploy/service.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null diff --git a/project/database/redis/deploy/kubernetes/copier.yml b/project/database/redis/deploy/kubernetes/copier.yml index 8e14be4..7b85b1d 100644 --- a/project/database/redis/deploy/kubernetes/copier.yml +++ b/project/database/redis/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/redis build \ No newline at end of file + - make -s -C external/redis deploy \ No newline at end of file diff --git a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja index 3651d4b..79fc8a9 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/Makefile.jinja @@ -1,4 +1,6 @@ -build: +.PHONY: deploy + +deploy: kubectl apply -f deploy/service.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index 96cd83f..5c8ebd6 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -1,6 +1,8 @@ -build: - $(MAKE) build-namespace +.PHONY: deploy -build-namespace: +deploy: + $(MAKE) deploy-namespace + +deploy-namespace: kubectl apply -f deploy/namespace.yaml > /dev/null kubectl apply -f deploy/configmap_microservice.yaml > /dev/null \ No newline at end of file diff --git a/project/deploy/kubernetes/copier.yml b/project/deploy/kubernetes/copier.yml index b8ad2df..f836190 100644 --- a/project/deploy/kubernetes/copier.yml +++ b/project/deploy/kubernetes/copier.yml @@ -18,4 +18,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s build \ No newline at end of file + - make -s deploy \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/copier.yml b/project/discovery/minos/deploy/kubernetes/copier.yml index 0856393..383dda2 100644 --- a/project/discovery/minos/deploy/kubernetes/copier.yml +++ b/project/discovery/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/discovery build \ No newline at end of file + - make -s -C external/discovery deploy \ No newline at end of file diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja index 5de77a6..e68d3a2 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/Makefile.jinja @@ -1,4 +1,6 @@ -build: +.PHONY: deploy + +deploy: kubectl apply -f deploy/configmap.yaml > /dev/null kubectl apply -f deploy/service.yaml > /dev/null kubectl apply -f deploy/deployment.yaml > /dev/null From e09e6245c3608fe28a2c8d32d0f2d5005f9b6a70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:37:33 +0100 Subject: [PATCH 78/89] ISSUE #1 * Improve `build` rule --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 56ca838..8ca57a4 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,5 @@ +.PHONY: build + build: + rm -rf .build sh build.sh \ No newline at end of file From 8f6f5af14d5bf8c37f3a4789dfd65d09b3551037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 09:44:16 +0100 Subject: [PATCH 79/89] ISSUE #1 * Update dependencies. --- .../language/python/package-manager/pip/requirements.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/microservice/language/python/package-manager/pip/requirements.txt b/microservice/language/python/package-manager/pip/requirements.txt index 6cd7bb4..c7fa52c 100644 --- a/microservice/language/python/package-manager/pip/requirements.txt +++ b/microservice/language/python/package-manager/pip/requirements.txt @@ -1,5 +1,6 @@ minos-microservice-common~=0.3.2 -minos-microservice-networks~=0.3.1 +minos-microservice-networks~=0.3.2 +minos-microservice-aggregate~=0.2.2 minos-microservice-saga~=0.3.5 minos-microservice-cqrs~=0.2.1 -typer~=^0.3.2 +typer~=0.3.2 \ No newline at end of file From 9144e89ed43f2751c9d7b2f88ee5549cc4d49f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Garc=C3=ADa=20Prado?= Date: Thu, 30 Dec 2021 12:22:00 +0100 Subject: [PATCH 80/89] ISSUE #1 * Simplify microservice questions. --- .../python/deploy/kubernetes/copier.yml | 4 -- .../kubernetes/deploy/deployment.yaml.jinja | 2 +- .../kubernetes/deploy/service.yaml.jinja | 2 +- .../language/python/init/config.yml.jinja | 32 ++++++++-------- microservice/language/python/init/copier.yml | 37 +++---------------- .../deploy/configmap_microservice.yaml.jinja | 10 +++++ 6 files changed, 33 insertions(+), 54 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml index 8cf7317..28be7ab 100644 --- a/microservice/language/python/deploy/kubernetes/copier.yml +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -7,10 +7,6 @@ version: project_name: type: str help: What is the name of the project? -rest_port: - type: int - default: 8080 - help: What is the rest's port? kubernetes_config: type: str default: microservice-config diff --git a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja index d4823ca..cbf1249 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja @@ -18,7 +18,7 @@ spec: image: {{ kubernetes_registry }}/microservice-{{ name }}:{{ version }} imagePullPolicy: Always ports: - - containerPort: {{ rest_port }} + - containerPort: 8080 envFrom: - configMapRef: name: {{ kubernetes_config }} \ No newline at end of file diff --git a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja index 691e50a..2c0ad2a 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja @@ -6,6 +6,6 @@ metadata: spec: type: ClusterIP ports: - - port: {{ rest_port }} + - port: 8080 selector: app.kubernetes.io/name: microservice-{{ name }} \ No newline at end of file diff --git a/microservice/language/python/init/config.yml.jinja b/microservice/language/python/init/config.yml.jinja index 968458d..6ca480e 100644 --- a/microservice/language/python/init/config.yml.jinja +++ b/microservice/language/python/init/config.yml.jinja @@ -27,31 +27,31 @@ services: - src.queries.{{ aggregate }}QueryService - src.commands.{{ aggregate }}CommandService rest: - host: {{ rest_host }} - port: {{ rest_port }} + host: 0.0.0.0 + port: 8080 broker: - host: {{ broker_host }} - port: {{ broker_port }} + host: localhost + port: 9092 queue: database: {{ name }}_db - user: {{ database_user }} - password: {{ database_password }} - host: {{ database_host }} - port: {{ database_port }} + user: postgres + password: "" + host: localhost + port: 5432 records: 1000 retry: 2 repository: database: {{ name }}_db - user: {{ database_user }} - password: {{ database_password }} - host: {{ database_host }} - port: {{ database_port }} + user: postgres + password: "" + host: localhost + port: 5432 snapshot: database: {{ name }}_db - user: {{ database_user }} - password: {{ database_password }} - host: {{ database_host }} - port: {{ database_port }} + user: postgres + password: "" + host: localhost + port: 5432 saga: storage: path: ./{{ name }}.lmdb diff --git a/microservice/language/python/init/copier.yml b/microservice/language/python/init/copier.yml index d74250b..9ea6307 100644 --- a/microservice/language/python/init/copier.yml +++ b/microservice/language/python/init/copier.yml @@ -15,45 +15,18 @@ database: choices: - postgres help: What is the database? [ TODO ] -database_host: - type: str - default: localhost - help: What is the database's host? -database_port: - type: int - default: 5432 - help: What is the database's port? -database_user: - type: str - default: minos - help: What is the database's user? -database_password: - type: str - default: min0s - secret: true - help: What is the database's password? broker: type: str default: kafka choices: - kafka help: What is the broker? [ TODO ] -broker_host: +rest: type: str - default: localhost - help: What is the broker's host? -broker_port: - type: str - default: "9092" - help: What is the broker's port? -rest_host: - type: str - default: 0.0.0.0 - help: What is the rest's host? -rest_port: - type: int - default: 8080 - help: What is the rest's port? + default: aiohttp + help: What is the rest? [ TODO ] + choices: + - aiohttp discovery: type: str default: minos diff --git a/project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja b/project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja index 2313a57..924d500 100644 --- a/project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja +++ b/project/deploy/kubernetes/deploy/configmap_microservice.yaml.jinja @@ -7,8 +7,18 @@ metadata: app: microservice data: MINOS_BROKER_QUEUE_HOST: "postgres.{{ project_name }}.svc.cluster.local" + MINOS_BROKER_QUEUE_USER: "minos" + MINOS_BROKER_QUEUE_PASSWORD: "min0s" + MINOS_BROKER_HOST: "kafka.{{ project_name }}.svc.cluster.local" + MINOS_REPOSITORY_HOST: "postgres.{{ project_name }}.svc.cluster.local" + MINOS_REPOSITORY_USER: "minos" + MINOS_REPOSITORY_PASSWORD: "min0s" + MINOS_SNAPSHOT_HOST: "postgres.{{ project_name }}.svc.cluster.local" + MINOS_SNAPSHOT_USER: "minos" + MINOS_SNAPSHOT_PASSWORD: "min0s" + MINOS_DISCOVERY_HOST: "minos-discovery.{{ project_name }}.svc.cluster.local" MINOS_DISCOVERY_PORT: "5567" From 9a4510a11ba8592561d7963f4ea0ae112849c119 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:12 +0000 Subject: [PATCH 81/89] Restyled by autopep8 --- microservice/language/python/init/src/cli.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/microservice/language/python/init/src/cli.py b/microservice/language/python/init/src/cli.py index f812d1e..f453bd7 100644 --- a/microservice/language/python/init/src/cli.py +++ b/microservice/language/python/init/src/cli.py @@ -25,7 +25,8 @@ def start( ) ): """Start the microservice.""" - launcher = EntrypointLauncher.from_config(file_path, external_modules=[sys.modules["src"]]) + launcher = EntrypointLauncher.from_config( + file_path, external_modules=[sys.modules["src"]]) launcher.launch() From 046ca448f140c9bb9cdeb5e5bece0c26beb5ec9a Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:13 +0000 Subject: [PATCH 82/89] Restyled by black --- microservice/language/python/init/src/cli.py | 7 +++++-- project/apigateway/minos/deploy/docker-compose/_utils.py | 8 ++------ project/broker/kafka/deploy/docker-compose/_utils.py | 8 ++------ project/database/postgres/deploy/docker-compose/_utils.py | 4 +--- project/discovery/minos/deploy/docker-compose/_utils.py | 8 ++------ 5 files changed, 12 insertions(+), 23 deletions(-) diff --git a/microservice/language/python/init/src/cli.py b/microservice/language/python/init/src/cli.py index f453bd7..2d9eadb 100644 --- a/microservice/language/python/init/src/cli.py +++ b/microservice/language/python/init/src/cli.py @@ -21,12 +21,15 @@ @app.command("start") def start( file_path: Optional[Path] = typer.Argument( - "config.yml", help="Microservice configuration file.", envvar="MINOS_CONFIGURATION_FILE_PATH", + "config.yml", + help="Microservice configuration file.", + envvar="MINOS_CONFIGURATION_FILE_PATH", ) ): """Start the microservice.""" launcher = EntrypointLauncher.from_config( - file_path, external_modules=[sys.modules["src"]]) + file_path, external_modules=[sys.modules["src"]] + ) launcher.launch() diff --git a/project/apigateway/minos/deploy/docker-compose/_utils.py b/project/apigateway/minos/deploy/docker-compose/_utils.py index de1b859..263738f 100644 --- a/project/apigateway/minos/deploy/docker-compose/_utils.py +++ b/project/apigateway/minos/deploy/docker-compose/_utils.py @@ -17,12 +17,8 @@ def build_docker_compose(path: Path) -> str: container = { "restart": "always", "build": "external/apigateway", - "ports": [ - "5566" - ], - "depends_on": [ - "discovery" - ], + "ports": ["5566"], + "depends_on": ["discovery"], "environment": { "PYTHONPATH": "/api_gateway", "DISCOVERY_SERVICE_HOST": "discovery", diff --git a/project/broker/kafka/deploy/docker-compose/_utils.py b/project/broker/kafka/deploy/docker-compose/_utils.py index 6f917b2..c00ee66 100644 --- a/project/broker/kafka/deploy/docker-compose/_utils.py +++ b/project/broker/kafka/deploy/docker-compose/_utils.py @@ -24,12 +24,8 @@ def build_docker_compose(path: Path) -> str: kafka_container = { "restart": "always", "image": "wurstmeister/kafka:latest", - "ports": [ - "9092" - ], - "depends_on": [ - "zookeeper" - ], + "ports": ["9092"], + "depends_on": ["zookeeper"], "volumes": ["kafka_volume:/kafka"], "environment": { "KAFKA_DELETE_TOPIC_ENABLE": "true", diff --git a/project/database/postgres/deploy/docker-compose/_utils.py b/project/database/postgres/deploy/docker-compose/_utils.py index cd70871..55bcfdb 100644 --- a/project/database/postgres/deploy/docker-compose/_utils.py +++ b/project/database/postgres/deploy/docker-compose/_utils.py @@ -20,9 +20,7 @@ def build_docker_compose(path: Path) -> str: "restart": "always", "build": "external/postgres", "command": "postgres -c 'max_connections=200'", - "ports": [ - "5432" - ], + "ports": ["5432"], "volumes": [ "postgres_volume:/var/lib/postgresql", ], diff --git a/project/discovery/minos/deploy/docker-compose/_utils.py b/project/discovery/minos/deploy/docker-compose/_utils.py index d19fbf7..859c453 100644 --- a/project/discovery/minos/deploy/docker-compose/_utils.py +++ b/project/discovery/minos/deploy/docker-compose/_utils.py @@ -17,12 +17,8 @@ def build_docker_compose(path: Path) -> str: container = { "restart": "always", "build": "external/discovery", - "ports": [ - "5567" - ], - "depends_on": [ - "redis" - ], + "ports": ["5567"], + "depends_on": ["redis"], "environment": { "DISCOVERY_SERVICE_DB_HOST": "redis", }, From 41970c74ed7f41df05911f8cc55b1883638586b9 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:14 +0000 Subject: [PATCH 83/89] Restyled by isort --- microservice/language/python/init/src/cli.py | 1 - project/apigateway/minos/deploy/docker-compose/_utils.py | 8 ++++++-- project/broker/kafka/deploy/docker-compose/_utils.py | 8 ++++++-- project/database/postgres/deploy/docker-compose/_utils.py | 8 ++++++-- project/database/redis/deploy/docker-compose/_utils.py | 8 ++++++-- project/deploy/docker-compose/_utils.py | 8 ++++++-- project/discovery/minos/deploy/docker-compose/_utils.py | 8 ++++++-- 7 files changed, 36 insertions(+), 13 deletions(-) diff --git a/microservice/language/python/init/src/cli.py b/microservice/language/python/init/src/cli.py index 2d9eadb..68c714f 100644 --- a/microservice/language/python/init/src/cli.py +++ b/microservice/language/python/init/src/cli.py @@ -8,7 +8,6 @@ ) import typer - from minos.common import ( EntrypointLauncher, ) diff --git a/project/apigateway/minos/deploy/docker-compose/_utils.py b/project/apigateway/minos/deploy/docker-compose/_utils.py index 263738f..3e03ae3 100644 --- a/project/apigateway/minos/deploy/docker-compose/_utils.py +++ b/project/apigateway/minos/deploy/docker-compose/_utils.py @@ -1,6 +1,10 @@ -from __future__ import annotations +from __future__ import ( + annotations, +) -from pathlib import Path +from pathlib import ( + Path, +) import yaml diff --git a/project/broker/kafka/deploy/docker-compose/_utils.py b/project/broker/kafka/deploy/docker-compose/_utils.py index c00ee66..bfe0258 100644 --- a/project/broker/kafka/deploy/docker-compose/_utils.py +++ b/project/broker/kafka/deploy/docker-compose/_utils.py @@ -1,6 +1,10 @@ -from __future__ import annotations +from __future__ import ( + annotations, +) -from pathlib import Path +from pathlib import ( + Path, +) import yaml diff --git a/project/database/postgres/deploy/docker-compose/_utils.py b/project/database/postgres/deploy/docker-compose/_utils.py index 55bcfdb..50ba9c0 100644 --- a/project/database/postgres/deploy/docker-compose/_utils.py +++ b/project/database/postgres/deploy/docker-compose/_utils.py @@ -1,6 +1,10 @@ -from __future__ import annotations +from __future__ import ( + annotations, +) -from pathlib import Path +from pathlib import ( + Path, +) import yaml diff --git a/project/database/redis/deploy/docker-compose/_utils.py b/project/database/redis/deploy/docker-compose/_utils.py index 63dadf8..e666271 100644 --- a/project/database/redis/deploy/docker-compose/_utils.py +++ b/project/database/redis/deploy/docker-compose/_utils.py @@ -1,6 +1,10 @@ -from __future__ import annotations +from __future__ import ( + annotations, +) -from pathlib import Path +from pathlib import ( + Path, +) import yaml diff --git a/project/deploy/docker-compose/_utils.py b/project/deploy/docker-compose/_utils.py index 69ca5d9..bdadb2d 100644 --- a/project/deploy/docker-compose/_utils.py +++ b/project/deploy/docker-compose/_utils.py @@ -1,6 +1,10 @@ -from __future__ import annotations +from __future__ import ( + annotations, +) -from pathlib import Path +from pathlib import ( + Path, +) import yaml diff --git a/project/discovery/minos/deploy/docker-compose/_utils.py b/project/discovery/minos/deploy/docker-compose/_utils.py index 859c453..8f0b719 100644 --- a/project/discovery/minos/deploy/docker-compose/_utils.py +++ b/project/discovery/minos/deploy/docker-compose/_utils.py @@ -1,6 +1,10 @@ -from __future__ import annotations +from __future__ import ( + annotations, +) -from pathlib import Path +from pathlib import ( + Path, +) import yaml From 1d7a6e03258d984789a8ae964c24fc46ef533f4a Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:17 +0000 Subject: [PATCH 84/89] Restyled by prettier-yaml --- .../language/python/deploy/kubernetes/copier.yml | 2 +- microservice/language/python/init/copier.yml | 2 +- .../language/python/package-manager/poetry/copier.yml | 2 +- .../apigateway/minos/deploy/docker-compose/copier.yml | 2 +- .../docker-compose/external/apigateway/config.yml | 10 +++++----- project/apigateway/minos/deploy/kubernetes/copier.yml | 2 +- project/apigateway/minos/deploy/remote/copier.yml | 1 - project/broker/kafka/deploy/docker-compose/copier.yml | 2 +- project/broker/kafka/deploy/kubernetes/copier.yml | 2 +- project/broker/kafka/deploy/remote/copier.yml | 1 - .../database/postgres/deploy/docker-compose/copier.yml | 2 +- project/database/postgres/deploy/kubernetes/copier.yml | 2 +- .../database/redis/deploy/docker-compose/copier.yml | 2 +- project/database/redis/deploy/kubernetes/copier.yml | 2 +- project/deploy/docker-compose/copier.yml | 2 +- project/deploy/kubernetes/copier.yml | 2 +- .../discovery/minos/deploy/docker-compose/copier.yml | 2 +- project/discovery/minos/deploy/kubernetes/copier.yml | 2 +- project/discovery/minos/deploy/remote/copier.yml | 1 - 19 files changed, 20 insertions(+), 23 deletions(-) diff --git a/microservice/language/python/deploy/kubernetes/copier.yml b/microservice/language/python/deploy/kubernetes/copier.yml index 28be7ab..5af2344 100644 --- a/microservice/language/python/deploy/kubernetes/copier.yml +++ b/microservice/language/python/deploy/kubernetes/copier.yml @@ -28,4 +28,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s deploy \ No newline at end of file + - make -s deploy diff --git a/microservice/language/python/init/copier.yml b/microservice/language/python/init/copier.yml index 9ea6307..d9eec9c 100644 --- a/microservice/language/python/init/copier.yml +++ b/microservice/language/python/init/copier.yml @@ -63,4 +63,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s create-database \ No newline at end of file + - make -s create-database diff --git a/microservice/language/python/package-manager/poetry/copier.yml b/microservice/language/python/package-manager/poetry/copier.yml index ce5bdef..20349b3 100644 --- a/microservice/language/python/package-manager/poetry/copier.yml +++ b/microservice/language/python/package-manager/poetry/copier.yml @@ -26,4 +26,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s lock \ No newline at end of file + - make -s lock diff --git a/project/apigateway/minos/deploy/docker-compose/copier.yml b/project/apigateway/minos/deploy/docker-compose/copier.yml index 8740772..90a71a6 100644 --- a/project/apigateway/minos/deploy/docker-compose/copier.yml +++ b/project/apigateway/minos/deploy/docker-compose/copier.yml @@ -14,4 +14,4 @@ _exclude: - "_utils.py" _functions: - - "_utils.build_docker_compose" \ No newline at end of file + - "_utils.build_docker_compose" diff --git a/project/apigateway/minos/deploy/docker-compose/external/apigateway/config.yml b/project/apigateway/minos/deploy/docker-compose/external/apigateway/config.yml index 8a376ee..8bc47f9 100644 --- a/project/apigateway/minos/deploy/docker-compose/external/apigateway/config.yml +++ b/project/apigateway/minos/deploy/docker-compose/external/apigateway/config.yml @@ -4,10 +4,10 @@ rest: cors: enabled: true auth: - host: localhost - port: 8092 - method: POST - path: /validate-token + host: localhost + port: 8092 + method: POST + path: /validate-token discovery: host: localhost - port: 5567 \ No newline at end of file + port: 5567 diff --git a/project/apigateway/minos/deploy/kubernetes/copier.yml b/project/apigateway/minos/deploy/kubernetes/copier.yml index 597f501..772b2e5 100644 --- a/project/apigateway/minos/deploy/kubernetes/copier.yml +++ b/project/apigateway/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/apigateway deploy \ No newline at end of file + - make -s -C external/apigateway deploy diff --git a/project/apigateway/minos/deploy/remote/copier.yml b/project/apigateway/minos/deploy/remote/copier.yml index 8164052..f9cef0f 100644 --- a/project/apigateway/minos/deploy/remote/copier.yml +++ b/project/apigateway/minos/deploy/remote/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" diff --git a/project/broker/kafka/deploy/docker-compose/copier.yml b/project/broker/kafka/deploy/docker-compose/copier.yml index 8740772..90a71a6 100644 --- a/project/broker/kafka/deploy/docker-compose/copier.yml +++ b/project/broker/kafka/deploy/docker-compose/copier.yml @@ -14,4 +14,4 @@ _exclude: - "_utils.py" _functions: - - "_utils.build_docker_compose" \ No newline at end of file + - "_utils.build_docker_compose" diff --git a/project/broker/kafka/deploy/kubernetes/copier.yml b/project/broker/kafka/deploy/kubernetes/copier.yml index a553217..4f32f68 100644 --- a/project/broker/kafka/deploy/kubernetes/copier.yml +++ b/project/broker/kafka/deploy/kubernetes/copier.yml @@ -15,4 +15,4 @@ _templates_suffix: .jinja _tasks: - make -s -C external/zookeeper deploy - - make -s -C external/kafka deploy \ No newline at end of file + - make -s -C external/kafka deploy diff --git a/project/broker/kafka/deploy/remote/copier.yml b/project/broker/kafka/deploy/remote/copier.yml index 8164052..f9cef0f 100644 --- a/project/broker/kafka/deploy/remote/copier.yml +++ b/project/broker/kafka/deploy/remote/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" diff --git a/project/database/postgres/deploy/docker-compose/copier.yml b/project/database/postgres/deploy/docker-compose/copier.yml index 8740772..90a71a6 100644 --- a/project/database/postgres/deploy/docker-compose/copier.yml +++ b/project/database/postgres/deploy/docker-compose/copier.yml @@ -14,4 +14,4 @@ _exclude: - "_utils.py" _functions: - - "_utils.build_docker_compose" \ No newline at end of file + - "_utils.build_docker_compose" diff --git a/project/database/postgres/deploy/kubernetes/copier.yml b/project/database/postgres/deploy/kubernetes/copier.yml index b6a3f69..d538f93 100644 --- a/project/database/postgres/deploy/kubernetes/copier.yml +++ b/project/database/postgres/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/postgres deploy \ No newline at end of file + - make -s -C external/postgres deploy diff --git a/project/database/redis/deploy/docker-compose/copier.yml b/project/database/redis/deploy/docker-compose/copier.yml index 8740772..90a71a6 100644 --- a/project/database/redis/deploy/docker-compose/copier.yml +++ b/project/database/redis/deploy/docker-compose/copier.yml @@ -14,4 +14,4 @@ _exclude: - "_utils.py" _functions: - - "_utils.build_docker_compose" \ No newline at end of file + - "_utils.build_docker_compose" diff --git a/project/database/redis/deploy/kubernetes/copier.yml b/project/database/redis/deploy/kubernetes/copier.yml index 7b85b1d..7c3dff3 100644 --- a/project/database/redis/deploy/kubernetes/copier.yml +++ b/project/database/redis/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/redis deploy \ No newline at end of file + - make -s -C external/redis deploy diff --git a/project/deploy/docker-compose/copier.yml b/project/deploy/docker-compose/copier.yml index 8740772..90a71a6 100644 --- a/project/deploy/docker-compose/copier.yml +++ b/project/deploy/docker-compose/copier.yml @@ -14,4 +14,4 @@ _exclude: - "_utils.py" _functions: - - "_utils.build_docker_compose" \ No newline at end of file + - "_utils.build_docker_compose" diff --git a/project/deploy/kubernetes/copier.yml b/project/deploy/kubernetes/copier.yml index f836190..98694d1 100644 --- a/project/deploy/kubernetes/copier.yml +++ b/project/deploy/kubernetes/copier.yml @@ -18,4 +18,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s deploy \ No newline at end of file + - make -s deploy diff --git a/project/discovery/minos/deploy/docker-compose/copier.yml b/project/discovery/minos/deploy/docker-compose/copier.yml index 8740772..90a71a6 100644 --- a/project/discovery/minos/deploy/docker-compose/copier.yml +++ b/project/discovery/minos/deploy/docker-compose/copier.yml @@ -14,4 +14,4 @@ _exclude: - "_utils.py" _functions: - - "_utils.build_docker_compose" \ No newline at end of file + - "_utils.build_docker_compose" diff --git a/project/discovery/minos/deploy/kubernetes/copier.yml b/project/discovery/minos/deploy/kubernetes/copier.yml index 383dda2..c6cc8cd 100644 --- a/project/discovery/minos/deploy/kubernetes/copier.yml +++ b/project/discovery/minos/deploy/kubernetes/copier.yml @@ -14,4 +14,4 @@ _envops: _templates_suffix: .jinja _tasks: - - make -s -C external/discovery deploy \ No newline at end of file + - make -s -C external/discovery deploy diff --git a/project/discovery/minos/deploy/remote/copier.yml b/project/discovery/minos/deploy/remote/copier.yml index 8164052..f9cef0f 100644 --- a/project/discovery/minos/deploy/remote/copier.yml +++ b/project/discovery/minos/deploy/remote/copier.yml @@ -1,4 +1,3 @@ - _envops: block_start_string: "{%" block_end_string: "%}" From d1dcf1d1f0c56202f71bb70564a1322b55626bb9 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:18 +0000 Subject: [PATCH 85/89] Restyled by reorder-python-imports --- .../language/python/init/tests/utils.py | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/microservice/language/python/init/tests/utils.py b/microservice/language/python/init/tests/utils.py index b69410f..4e97354 100644 --- a/microservice/language/python/init/tests/utils.py +++ b/microservice/language/python/init/tests/utils.py @@ -8,21 +8,17 @@ from typing import ( Optional, ) -from uuid import ( - UUID, - uuid4, -) - -from minos.common import ( - CommandReply, - DependencyInjector, - InMemoryRepository, - InMemorySnapshot, - MinosBroker, - MinosConfig, - MinosSagaManager, - Model, -) +from uuid import UUID +from uuid import uuid4 + +from minos.common import CommandReply +from minos.common import DependencyInjector +from minos.common import InMemoryRepository +from minos.common import InMemorySnapshot +from minos.common import MinosBroker +from minos.common import MinosConfig +from minos.common import MinosSagaManager +from minos.common import Model from minos.networks import ( Request, ) From 6b45825d8763000e0431a88518d4f9517669b583 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:30 +0000 Subject: [PATCH 86/89] Restyled by shellharden --- .../postgres/create-multiple-postgresql-databases.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh b/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh index 18c0f96..fbbb876 100644 --- a/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh +++ b/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh @@ -4,7 +4,7 @@ set -e set -u function create_user_and_database() { - local database=$1 + local database="$1" echo " Creating user and database '$database'" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL CREATE USER $database; @@ -15,8 +15,8 @@ EOSQL if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" - for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do - create_user_and_database $db + for db in "$(echo "$POSTGRES_MULTIPLE_DATABASES" | tr ',' ' ')"; do + create_user_and_database "$db" done echo "Multiple databases created" fi \ No newline at end of file From c43bd68e2c1732d0d0c5a738bba28fdb8c8afc4d Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:32 +0000 Subject: [PATCH 87/89] Restyled by shfmt --- build.sh | 4 ++-- .../create-multiple-postgresql-databases.sh | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build.sh b/build.sh index 4811e99..68de715 100755 --- a/build.sh +++ b/build.sh @@ -81,7 +81,7 @@ tar -czf "$BUILD_DIR/project-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project echo "Building Project Discovery Minos Init Template..." tar -czf "$BUILD_DIR/project-discovery-minos-init.tar.gz" -C "$ROOT_DIR/project/discovery/minos/init" . - + echo "Building Project Discovery Minos Deploy Docker Compose Template..." tar -czf "$BUILD_DIR/project-discovery-minos-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/discovery/minos/deploy/docker-compose" . @@ -95,4 +95,4 @@ echo "Building Project Deploy Docker Compose Template..." tar -czf "$BUILD_DIR/project-deploy-docker-compose.tar.gz" -C "$ROOT_DIR/project/deploy/docker-compose" . echo "Building Project Deploy Kubernetes Template..." -tar -czf "$BUILD_DIR/project-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/deploy/kubernetes" . \ No newline at end of file +tar -czf "$BUILD_DIR/project-deploy-kubernetes.tar.gz" -C "$ROOT_DIR/project/deploy/kubernetes" . diff --git a/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh b/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh index fbbb876..711a438 100644 --- a/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh +++ b/project/database/postgres/deploy/docker-compose/external/postgres/create-multiple-postgresql-databases.sh @@ -4,9 +4,9 @@ set -e set -u function create_user_and_database() { - local database="$1" - echo " Creating user and database '$database'" - psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + local database="$1" + echo " Creating user and database '$database'" + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL CREATE USER $database; CREATE DATABASE $database; GRANT ALL PRIVILEGES ON DATABASE $database TO $database; @@ -14,9 +14,9 @@ EOSQL } if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then - echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" - for db in "$(echo "$POSTGRES_MULTIPLE_DATABASES" | tr ',' ' ')"; do - create_user_and_database "$db" - done - echo "Multiple databases created" -fi \ No newline at end of file + echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" + for db in "$(echo "$POSTGRES_MULTIPLE_DATABASES" | tr ',' ' ')"; do + create_user_and_database "$db" + done + echo "Multiple databases created" +fi From 8051d0d8d1baceb952ca927c787a293dc99124f3 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:33 +0000 Subject: [PATCH 88/89] Restyled by whitespace --- Makefile | 2 +- .../language/python/deploy/docker-compose/.dockerignore | 2 +- microservice/language/python/deploy/kubernetes/.dockerignore | 2 +- .../python/deploy/kubernetes/deploy/deployment.yaml.jinja | 2 +- .../language/python/deploy/kubernetes/deploy/service.yaml.jinja | 2 +- microservice/language/python/init/Makefile.jinja | 2 +- .../language/python/package-manager/pip/requirements.txt | 2 +- .../minos/deploy/docker-compose/docker-compose.yml.jinja | 2 +- .../minos/deploy/docker-compose/external/apigateway/Dockerfile | 2 +- .../kubernetes/external/apigateway/deploy/configmap.yaml.jinja | 2 +- .../kubernetes/external/apigateway/deploy/deployment.yaml.jinja | 2 +- .../kubernetes/external/apigateway/deploy/ingress.yaml.jinja | 2 +- .../kubernetes/external/apigateway/deploy/service.yaml.jinja | 2 +- .../broker/kafka/deploy/docker-compose/docker-compose.yml.jinja | 2 +- .../kubernetes/external/kafka/deploy/configmap.yaml.jinja | 2 +- .../kubernetes/external/kafka/deploy/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/kafka/deploy/service.yaml.jinja | 2 +- .../kubernetes/external/zookeeper/deploy/deployment.yaml.jinja | 2 +- .../kubernetes/external/zookeeper/deploy/service.yaml.jinja | 2 +- .../postgres/deploy/docker-compose/docker-compose.yml.jinja | 2 +- .../postgres/deploy/docker-compose/external/postgres/Dockerfile | 2 +- .../kubernetes/external/postgres/deploy/configmap.yaml.jinja | 2 +- .../kubernetes/external/postgres/deploy/deployment.yaml.jinja | 2 +- .../kubernetes/external/postgres/deploy/service.yaml.jinja | 2 +- .../redis/deploy/docker-compose/docker-compose.yml.jinja | 2 +- .../kubernetes/external/redis/deploy/deployment.yaml.jinja | 2 +- .../deploy/kubernetes/external/redis/deploy/service.yaml.jinja | 2 +- project/deploy/docker-compose/docker-compose.yml.jinja | 2 +- project/deploy/kubernetes/Makefile | 2 +- .../minos/deploy/docker-compose/docker-compose.yml.jinja | 2 +- .../kubernetes/external/discovery/deploy/configmap.yaml.jinja | 2 +- .../kubernetes/external/discovery/deploy/deployment.yaml.jinja | 2 +- .../kubernetes/external/discovery/deploy/service.yaml.jinja | 2 +- project/init/external/README.md.jinja | 2 +- project/init/front/README.md.jinja | 2 +- project/init/microservices/README.md.jinja | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index 8ca57a4..6408b09 100644 --- a/Makefile +++ b/Makefile @@ -2,4 +2,4 @@ build: rm -rf .build - sh build.sh \ No newline at end of file + sh build.sh diff --git a/microservice/language/python/deploy/docker-compose/.dockerignore b/microservice/language/python/deploy/docker-compose/.dockerignore index 2a3553c..8224380 100644 --- a/microservice/language/python/deploy/docker-compose/.dockerignore +++ b/microservice/language/python/deploy/docker-compose/.dockerignore @@ -1,3 +1,3 @@ .venv *.lmdb -dist/ \ No newline at end of file +dist/ diff --git a/microservice/language/python/deploy/kubernetes/.dockerignore b/microservice/language/python/deploy/kubernetes/.dockerignore index 2a3553c..8224380 100644 --- a/microservice/language/python/deploy/kubernetes/.dockerignore +++ b/microservice/language/python/deploy/kubernetes/.dockerignore @@ -1,3 +1,3 @@ .venv *.lmdb -dist/ \ No newline at end of file +dist/ diff --git a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja index cbf1249..624472f 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/deployment.yaml.jinja @@ -21,4 +21,4 @@ spec: - containerPort: 8080 envFrom: - configMapRef: - name: {{ kubernetes_config }} \ No newline at end of file + name: {{ kubernetes_config }} diff --git a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja index 2c0ad2a..c728ff1 100644 --- a/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja +++ b/microservice/language/python/deploy/kubernetes/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 8080 selector: - app.kubernetes.io/name: microservice-{{ name }} \ No newline at end of file + app.kubernetes.io/name: microservice-{{ name }} diff --git a/microservice/language/python/init/Makefile.jinja b/microservice/language/python/init/Makefile.jinja index 03a2f15..1e9f000 100644 --- a/microservice/language/python/init/Makefile.jinja +++ b/microservice/language/python/init/Makefile.jinja @@ -20,4 +20,4 @@ coverage: poetry run coverage xml create-database: - $(MAKE) -C ../../external/postgres create-database DB_NAME={{ name }}_db \ No newline at end of file + $(MAKE) -C ../../external/postgres create-database DB_NAME={{ name }}_db diff --git a/microservice/language/python/package-manager/pip/requirements.txt b/microservice/language/python/package-manager/pip/requirements.txt index c7fa52c..e2787d1 100644 --- a/microservice/language/python/package-manager/pip/requirements.txt +++ b/microservice/language/python/package-manager/pip/requirements.txt @@ -3,4 +3,4 @@ minos-microservice-networks~=0.3.2 minos-microservice-aggregate~=0.2.2 minos-microservice-saga~=0.3.5 minos-microservice-cqrs~=0.2.1 -typer~=0.3.2 \ No newline at end of file +typer~=0.3.2 diff --git a/project/apigateway/minos/deploy/docker-compose/docker-compose.yml.jinja b/project/apigateway/minos/deploy/docker-compose/docker-compose.yml.jinja index f97f3d7..038fcd6 100644 --- a/project/apigateway/minos/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/apigateway/minos/deploy/docker-compose/docker-compose.yml.jinja @@ -1 +1 @@ -{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} diff --git a/project/apigateway/minos/deploy/docker-compose/external/apigateway/Dockerfile b/project/apigateway/minos/deploy/docker-compose/external/apigateway/Dockerfile index 9f4ee0a..aebd03e 100644 --- a/project/apigateway/minos/deploy/docker-compose/external/apigateway/Dockerfile +++ b/project/apigateway/minos/deploy/docker-compose/external/apigateway/Dockerfile @@ -3,4 +3,4 @@ FROM python RUN pip install minos-apigateway==0.1.0 COPY config.yml ./config.yml -CMD ["api_gateway", "start", "config.yml"] \ No newline at end of file +CMD ["api_gateway", "start", "config.yml"] diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/configmap.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/configmap.yaml.jinja index 0dc2026..20735d4 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/configmap.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/configmap.yaml.jinja @@ -9,4 +9,4 @@ data: API_GATEWAY_REST_PORT: "5566" API_GATEWAY_DISCOVERY_PORT: "5567" API_GATEWAY_DISCOVERY_HOST: "minos-discovery.{{ project_name }}.svc.cluster.local" - API_GATEWAY_REST_AUTH_ENABLED: "false" \ No newline at end of file + API_GATEWAY_REST_AUTH_ENABLED: "false" diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/deployment.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/deployment.yaml.jinja index 993a493..cc036ec 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/deployment.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/deployment.yaml.jinja @@ -21,4 +21,4 @@ spec: - containerPort: 5566 envFrom: - configMapRef: - name: apigateway-config \ No newline at end of file + name: apigateway-config diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/ingress.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/ingress.yaml.jinja index 3d9afcd..08bcbb7 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/ingress.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/ingress.yaml.jinja @@ -15,4 +15,4 @@ spec: service: name: minos-apigateway port: - number: 5566 \ No newline at end of file + number: 5566 diff --git a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja index a073868..9ef22df 100644 --- a/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja +++ b/project/apigateway/minos/deploy/kubernetes/external/apigateway/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 5566 selector: - app.kubernetes.io/name: minos-apigateway \ No newline at end of file + app.kubernetes.io/name: minos-apigateway diff --git a/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja b/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja index f97f3d7..038fcd6 100644 --- a/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/broker/kafka/deploy/docker-compose/docker-compose.yml.jinja @@ -1 +1 @@ -{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja index b55ee07..b281157 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/configmap.yaml.jinja @@ -8,4 +8,4 @@ metadata: data: KAFKA_DELETE_TOPIC_ENABLE: "true" KAFKA_PORT: "9092" - KAFKA_ZOOKEEPER_CONNECT: "zookeeper.{{ project_name }}.svc.cluster.local:2181" \ No newline at end of file + KAFKA_ZOOKEEPER_CONNECT: "zookeeper.{{ project_name }}.svc.cluster.local:2181" diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja index e259053..c9ae921 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/deployment.yaml.jinja @@ -26,4 +26,4 @@ spec: - name: KAFKA_ADVERTISED_HOST_NAME valueFrom: fieldRef: - fieldPath: status.podIP \ No newline at end of file + fieldPath: status.podIP diff --git a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja index 3b6e13c..c5184d3 100644 --- a/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/kafka/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 9092 selector: - app.kubernetes.io/name: kafka \ No newline at end of file + app.kubernetes.io/name: kafka diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/deployment.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/deployment.yaml.jinja index 14d0891..46ab3f6 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/deployment.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/deployment.yaml.jinja @@ -18,4 +18,4 @@ spec: image: wurstmeister/zookeeper:latest imagePullPolicy: Always ports: - - containerPort: 2181 \ No newline at end of file + - containerPort: 2181 diff --git a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja index bfa9948..f3fdc34 100644 --- a/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja +++ b/project/broker/kafka/deploy/kubernetes/external/zookeeper/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 2181 selector: - app.kubernetes.io/name: zookeeper \ No newline at end of file + app.kubernetes.io/name: zookeeper diff --git a/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja b/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja index f97f3d7..038fcd6 100644 --- a/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/database/postgres/deploy/docker-compose/docker-compose.yml.jinja @@ -1 +1 @@ -{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} diff --git a/project/database/postgres/deploy/docker-compose/external/postgres/Dockerfile b/project/database/postgres/deploy/docker-compose/external/postgres/Dockerfile index 774919f..8f76803 100644 --- a/project/database/postgres/deploy/docker-compose/external/postgres/Dockerfile +++ b/project/database/postgres/deploy/docker-compose/external/postgres/Dockerfile @@ -1,2 +1,2 @@ FROM postgres -COPY create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ \ No newline at end of file +COPY create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/configmap.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/configmap.yaml.jinja index f713cac..ad2d676 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/configmap.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/configmap.yaml.jinja @@ -6,4 +6,4 @@ metadata: labels: app: postgres data: - POSTGRES_PASSWORD: "p0stgres" \ No newline at end of file + POSTGRES_PASSWORD: "p0stgres" diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/deployment.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/deployment.yaml.jinja index 972f12b..b2fea45 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/deployment.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/deployment.yaml.jinja @@ -21,4 +21,4 @@ spec: - containerPort: 5432 envFrom: - configMapRef: - name: postgres-config \ No newline at end of file + name: postgres-config diff --git a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja index a58eccb..58f8b4f 100644 --- a/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja +++ b/project/database/postgres/deploy/kubernetes/external/postgres/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 5432 selector: - app.kubernetes.io/name: postgres \ No newline at end of file + app.kubernetes.io/name: postgres diff --git a/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja b/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja index f97f3d7..038fcd6 100644 --- a/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/database/redis/deploy/docker-compose/docker-compose.yml.jinja @@ -1 +1 @@ -{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} diff --git a/project/database/redis/deploy/kubernetes/external/redis/deploy/deployment.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deploy/deployment.yaml.jinja index e5c1f49..6c61ede 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deploy/deployment.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deploy/deployment.yaml.jinja @@ -18,4 +18,4 @@ spec: image: redis:latest imagePullPolicy: Always ports: - - containerPort: 6379 \ No newline at end of file + - containerPort: 6379 diff --git a/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja b/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja index 695506e..074f18c 100644 --- a/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja +++ b/project/database/redis/deploy/kubernetes/external/redis/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 6379 selector: - app.kubernetes.io/name: redis \ No newline at end of file + app.kubernetes.io/name: redis diff --git a/project/deploy/docker-compose/docker-compose.yml.jinja b/project/deploy/docker-compose/docker-compose.yml.jinja index f97f3d7..038fcd6 100644 --- a/project/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/deploy/docker-compose/docker-compose.yml.jinja @@ -1 +1 @@ -{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} diff --git a/project/deploy/kubernetes/Makefile b/project/deploy/kubernetes/Makefile index 5c8ebd6..1626739 100644 --- a/project/deploy/kubernetes/Makefile +++ b/project/deploy/kubernetes/Makefile @@ -5,4 +5,4 @@ deploy: deploy-namespace: kubectl apply -f deploy/namespace.yaml > /dev/null - kubectl apply -f deploy/configmap_microservice.yaml > /dev/null \ No newline at end of file + kubectl apply -f deploy/configmap_microservice.yaml > /dev/null diff --git a/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja b/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja index f97f3d7..038fcd6 100644 --- a/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja +++ b/project/discovery/minos/deploy/docker-compose/docker-compose.yml.jinja @@ -1 +1 @@ -{{ build_docker_compose(destination / "docker-compose.yml") }} \ No newline at end of file +{{ build_docker_compose(destination / "docker-compose.yml") }} diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/configmap.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/configmap.yaml.jinja index ce41011..ee37a20 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/configmap.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/configmap.yaml.jinja @@ -8,4 +8,4 @@ metadata: data: DISCOVERY_SERVICE_PORT: "5567" DISCOVERY_SERVICE_DB_HOST: "redis.{{ project_name }}.svc.cluster.local" - DISCOVERY_SERVICE_DB_PORT: "6379" \ No newline at end of file + DISCOVERY_SERVICE_DB_PORT: "6379" diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/deployment.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/deployment.yaml.jinja index db450bb..e489de9 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/deployment.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/deployment.yaml.jinja @@ -21,4 +21,4 @@ spec: - containerPort: 5567 envFrom: - configMapRef: - name: discovery-config \ No newline at end of file + name: discovery-config diff --git a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja index 064d2ee..3224784 100644 --- a/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja +++ b/project/discovery/minos/deploy/kubernetes/external/discovery/deploy/service.yaml.jinja @@ -8,4 +8,4 @@ spec: ports: - port: 5567 selector: - app.kubernetes.io/name: minos-discovery \ No newline at end of file + app.kubernetes.io/name: minos-discovery diff --git a/project/init/external/README.md.jinja b/project/init/external/README.md.jinja index 6cfa424..567caf7 100644 --- a/project/init/external/README.md.jinja +++ b/project/init/external/README.md.jinja @@ -1 +1 @@ -# {{ project_name }} - External \ No newline at end of file +# {{ project_name }} - External diff --git a/project/init/front/README.md.jinja b/project/init/front/README.md.jinja index 740bd56..a1ef83f 100644 --- a/project/init/front/README.md.jinja +++ b/project/init/front/README.md.jinja @@ -1 +1 @@ -# {{ project_name }} - Front \ No newline at end of file +# {{ project_name }} - Front diff --git a/project/init/microservices/README.md.jinja b/project/init/microservices/README.md.jinja index a52c523..e001071 100644 --- a/project/init/microservices/README.md.jinja +++ b/project/init/microservices/README.md.jinja @@ -1 +1 @@ -# {{ project_name }} - Microservices \ No newline at end of file +# {{ project_name }} - Microservices From 13967de6d785a3860d4308b4e1cd84b26f328066 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 30 Dec 2021 15:33:34 +0000 Subject: [PATCH 89/89] Restyled by yapf --- microservice/language/python/init/src/cli.py | 24 +++++++------------ .../language/python/init/tests/utils.py | 15 ++++-------- .../minos/deploy/docker-compose/_utils.py | 6 ++--- .../kafka/deploy/docker-compose/_utils.py | 6 ++--- .../postgres/deploy/docker-compose/_utils.py | 6 ++--- .../redis/deploy/docker-compose/_utils.py | 6 ++--- project/deploy/docker-compose/_utils.py | 6 ++--- .../minos/deploy/docker-compose/_utils.py | 6 ++--- 8 files changed, 25 insertions(+), 50 deletions(-) diff --git a/microservice/language/python/init/src/cli.py b/microservice/language/python/init/src/cli.py index 68c714f..f47b884 100644 --- a/microservice/language/python/init/src/cli.py +++ b/microservice/language/python/init/src/cli.py @@ -1,16 +1,13 @@ import logging import sys from pathlib import ( - Path, -) + Path, ) from typing import ( - Optional, -) + Optional, ) import typer from minos.common import ( - EntrypointLauncher, -) + EntrypointLauncher, ) logging.getLogger("aiohttp.access").setLevel(logging.WARNING) @@ -18,17 +15,14 @@ @app.command("start") -def start( - file_path: Optional[Path] = typer.Argument( - "config.yml", - help="Microservice configuration file.", - envvar="MINOS_CONFIGURATION_FILE_PATH", - ) -): +def start(file_path: Optional[Path] = typer.Argument( + "config.yml", + help="Microservice configuration file.", + envvar="MINOS_CONFIGURATION_FILE_PATH", +)): """Start the microservice.""" launcher = EntrypointLauncher.from_config( - file_path, external_modules=[sys.modules["src"]] - ) + file_path, external_modules=[sys.modules["src"]]) launcher.launch() diff --git a/microservice/language/python/init/tests/utils.py b/microservice/language/python/init/tests/utils.py index 4e97354..66e44aa 100644 --- a/microservice/language/python/init/tests/utils.py +++ b/microservice/language/python/init/tests/utils.py @@ -1,13 +1,10 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) from typing import ( - Optional, -) + Optional, ) from uuid import UUID from uuid import uuid4 @@ -20,13 +17,11 @@ from minos.common import MinosSagaManager from minos.common import Model from minos.networks import ( - Request, -) + Request, ) class _FakeRequest(Request): """For testing purposes""" - def __init__(self, content): super().__init__() self._content = content @@ -50,14 +45,12 @@ def __repr__(self) -> str: class _FakeBroker(MinosBroker): """For testing purposes.""" - async def send(self, items: list[Model], **kwargs) -> None: """For testing purposes.""" class _FakeSagaManager(MinosSagaManager): """For testing purposes.""" - async def _run_new(self, name: str, **kwargs) -> UUID: """For testing purposes.""" diff --git a/project/apigateway/minos/deploy/docker-compose/_utils.py b/project/apigateway/minos/deploy/docker-compose/_utils.py index 3e03ae3..66acaaa 100644 --- a/project/apigateway/minos/deploy/docker-compose/_utils.py +++ b/project/apigateway/minos/deploy/docker-compose/_utils.py @@ -1,10 +1,8 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) import yaml diff --git a/project/broker/kafka/deploy/docker-compose/_utils.py b/project/broker/kafka/deploy/docker-compose/_utils.py index bfe0258..625c234 100644 --- a/project/broker/kafka/deploy/docker-compose/_utils.py +++ b/project/broker/kafka/deploy/docker-compose/_utils.py @@ -1,10 +1,8 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) import yaml diff --git a/project/database/postgres/deploy/docker-compose/_utils.py b/project/database/postgres/deploy/docker-compose/_utils.py index 50ba9c0..93fcfc6 100644 --- a/project/database/postgres/deploy/docker-compose/_utils.py +++ b/project/database/postgres/deploy/docker-compose/_utils.py @@ -1,10 +1,8 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) import yaml diff --git a/project/database/redis/deploy/docker-compose/_utils.py b/project/database/redis/deploy/docker-compose/_utils.py index e666271..5b222d7 100644 --- a/project/database/redis/deploy/docker-compose/_utils.py +++ b/project/database/redis/deploy/docker-compose/_utils.py @@ -1,10 +1,8 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) import yaml diff --git a/project/deploy/docker-compose/_utils.py b/project/deploy/docker-compose/_utils.py index bdadb2d..83a1e01 100644 --- a/project/deploy/docker-compose/_utils.py +++ b/project/deploy/docker-compose/_utils.py @@ -1,10 +1,8 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) import yaml diff --git a/project/discovery/minos/deploy/docker-compose/_utils.py b/project/discovery/minos/deploy/docker-compose/_utils.py index 8f0b719..5a1a2b7 100644 --- a/project/discovery/minos/deploy/docker-compose/_utils.py +++ b/project/discovery/minos/deploy/docker-compose/_utils.py @@ -1,10 +1,8 @@ from __future__ import ( - annotations, -) + annotations, ) from pathlib import ( - Path, -) + Path, ) import yaml