From 7b1cb0392c725b02263317b2db60404ab953f431 Mon Sep 17 00:00:00 2001 From: Ricardo Zanini Date: Tue, 10 Sep 2024 17:13:01 -0400 Subject: [PATCH 1/4] Fix: #2571 - Add Cekit support to SonataFlow Management Console Image Signed-off-by: Ricardo Zanini --- .../package.json | 7 + ...e-sonataflow-management-console-image.yaml | 56 +++++++ .../management-console/added/entrypoint.sh | 28 ++++ .../management-console/configure-httpd.sh | 49 ++++++ .../sonataflow/management-console/module.yaml | 30 ++++ pnpm-lock.yaml | 147 ++---------------- repo/graph.dot | 1 + repo/graph.json | 5 + 8 files changed, 186 insertions(+), 137 deletions(-) create mode 100644 packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml create mode 100644 packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh create mode 100644 packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh create mode 100644 packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml diff --git a/packages/sonataflow-management-console-image/package.json b/packages/sonataflow-management-console-image/package.json index 7d2f34500b9..25bba7c5ffc 100644 --- a/packages/sonataflow-management-console-image/package.json +++ b/packages/sonataflow-management-console-image/package.json @@ -15,6 +15,10 @@ "scripts": { "build:dev": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:docker:build\"", "build:prod": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:docker:build\"", + "cekit:build": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && cekit:copy && pnpm cekit:setup:env && make -C ./dist-dev build", + "cekit:copy": "run-script-os", + "cekit:copy:linux:darwin": "rimraf dist-dev && cp -R ./node_modules/@kie-tools/sonataflow-image-common/resources ./dist-dev/ && cp -R resources/* ./dist-dev/", + "cekit:setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && cross-env SWF_IMAGE_REGISTRY=$(build-env sonataflowManagementConsoleImageEnv.registry) SWF_IMAGE_REGISTRY_ACCOUNT=$(build-env sonataflowManagementConsoleImageEnv.account) SWF_IMAGE_NAME=$(build-env sonataflowManagementConsoleImageEnv.name) SWF_IMAGE_TAG=$(build-env sonataflowManagementConsoleImageEnv.buildTag) QUARKUS_PLATFORM_VERSION=$(build-env quarkusPlatform.version) KOGITO_VERSION=$(build-env kogitoRuntime.version) SONATAFLOW_MANAGEMENT_CONSOLE_PORT=$(build-env sonataflowManagementConsoleImageEnv.port)", "cleanup": "rimraf dist-dev && mkdir dist-dev", "copy:assets": "pnpm copy:webapp-assets && pnpm copy:image-env-to-json", "copy:image-env-to-json": "run-script-os", @@ -29,9 +33,12 @@ "devDependencies": { "@kie-tools/image-builder": "workspace:*", "@kie-tools/image-env-to-json": "workspace:*", + "@kie-tools/python-venv": "workspace:*", "@kie-tools/root-env": "workspace:*", + "@kie-tools/sonataflow-image-common": "workspace:*", "@kie-tools/sonataflow-management-console-image-env": "workspace:*", "@kie-tools/sonataflow-management-console-webapp": "workspace:*", + "cross-env": "^7.0.3", "rimraf": "^3.0.2", "run-script-os": "^1.1.6", "ts-json-schema-generator": "^1.1.2" diff --git a/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml b/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml new file mode 100644 index 00000000000..badf67989af --- /dev/null +++ b/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml @@ -0,0 +1,56 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +- name: "docker.io/apache/incubator-kie-sonataflow-devmode" + from: "registry.access.redhat.com/ubi9/httpd-24:1-336.1725850633" + version: "0.0.0" + description: "SonataFlow Management Console Image" + + labels: + - name: "io.quarkus.platform.version" + value: "### SET ME DURING BUILD PROCESS ###" + - name: "org.kie.kogito.version" + value: "### SET ME DURING BUILD PROCESS ###" + - name: "maintainer" + value: "Apache KIE " + - name: "io.k8s.description" + value: "SonataFlow Management Console Image." + - name: "io.k8s.display-name" + value: "Sonataflow Management Console" + - name: "io.openshift.tags" + value: "sonataflow,serverless,workflow" + - name: "io.openshift.expose-services" + value: "$KOGITO_MANAGEMENT_CONSOLE_PORT:http" + + modules: + repositories: + - path: modules + install: + - name: org.kie.kogito.system.user + - name: org.kie.kogito.logging + - name: org.kie.kogito.project.versions + - name: org.kie.sonataflow.management.console + + ports: + - value: $KOGITO_MANAGEMENT_CONSOLE_PORT + + run: + workdir: "/home/kogito/management-console" + user: 1001 + cmd: + - "/home/kogito/management-console/launch/entrypoint.sh" diff --git a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh new file mode 100644 index 00000000000..74183f641fa --- /dev/null +++ b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +set -e + +# Copying the Task Console assets here is essential for when the container is running with the readOnlyRootFilesystem flag. +# But, just like any other directory modified during runtime, the /var/www/html must be a mounted volume in the container in this case. +cp -R "${KOGITO_HOME}/management-console/app/*" "${HTTPD_DATA_PATH}/html" + +"${KOGITO_HOME}/management-console/image-env-to-json-standalone" --directory "${HTTPD_DATA_PATH}/html" --json-schema "${KOGITO_HOME}/management-console/EnvJson.schema.json" + +httpd -D FOREGROUND diff --git a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh new file mode 100644 index 00000000000..61dde647589 --- /dev/null +++ b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +set -e + +SOURCES_DIR=/tmp/artifacts +SCRIPT_DIR=$(dirname "${0}") +MGMT_CONSOLE_HOME="${KOGITO_HOME}/management-console" + +# Configure the default httpd conf +echo "Mutex posixsem" >> "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i -e "/#ServerName www.example.com:80/aHeader set Content-Security-Policy \"frame-ancestors 'self';\"" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i -e 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i "s/Listen 80/Listen ${KOGITO_MANAGEMENT_CONSOLE_PORT}/g" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i "s/#ServerName www.example.com:80/ServerName 127.0.0.1:${KOGITO_MANAGEMENT_CONSOLE_PORT}/g" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i '$ a ServerTokens Prod' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i '$ a ServerSignature Off' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i -e "//a RewriteEngine on\n RewriteCond %{REQUEST_FILENAME} -f [OR]\n RewriteCond %{REQUEST_FILENAME} -d\n RewriteRule ^ - [L]\n RewriteRule ^ index.html [L]" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" + +# Set the required paths +mkdir -p "${MGMT_CONSOLE_HOME}" + +# Copy the entrypoint and other init scripts +cp -v "${SCRIPT_DIR}"/added/* "${MGMT_CONSOLE_HOME}"/launch + +# Copy the application +cp -vr "${SOURCES_DIR}/management-console/"* "${MGMT_CONSOLE_HOME}/" + +# Fixing permissions +chmod +x "${MGMT_CONSOLE_HOME}/launch/entrypoint.sh" "${MGMT_CONSOLE_HOME}/image-env-to-json-standalone" +chown -R "${KOGITO_USER}" "${MGMT_CONSOLE_HOME}" + + if [ -f "${MGMT_CONSOLE_HOME}/app/env.json" ]; then chmod a+w "${MGMT_CONSOLE_HOME}/app/env.json"; fi diff --git a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml new file mode 100644 index 00000000000..d116f47a324 --- /dev/null +++ b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml @@ -0,0 +1,30 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +schema_version: 1 +name: org.kie.sonataflow.management.console +version: "0.0.0" +description: "SonataFlow Management Console Launch Scripts and Configurations" + +execute: + - script: configure-httpd.sh + +artifacts: + - name: management-console-app + path: ./dist-dev/sonataflow-management-console-webapp + target: management-console diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba699483f13..672ba17cee7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10841,15 +10841,24 @@ importers: '@kie-tools/image-env-to-json': specifier: workspace:* version: link:../image-env-to-json + '@kie-tools/python-venv': + specifier: workspace:* + version: link:../python-venv '@kie-tools/root-env': specifier: workspace:* version: link:../root-env + '@kie-tools/sonataflow-image-common': + specifier: workspace:* + version: link:../sonataflow-image-common '@kie-tools/sonataflow-management-console-image-env': specifier: workspace:* version: link:../sonataflow-management-console-image-env '@kie-tools/sonataflow-management-console-webapp': specifier: workspace:* version: link:../sonataflow-management-console-webapp + cross-env: + specifier: ^7.0.3 + version: 7.0.3 rimraf: specifier: ^3.0.2 version: 3.0.2 @@ -13215,7 +13224,7 @@ importers: version: 7.16.11(@babel/core@7.16.12) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)) + version: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)) jest-junit: specifier: ^16.0.0 version: 16.0.0 @@ -37822,43 +37831,6 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0(node-notifier@8.0.2) - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.3.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@20.14.2)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - optionalDependencies: - node-notifier: 8.0.2 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - '@jest/core@29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))': dependencies: '@jest/console': 29.7.0 @@ -46145,21 +46117,6 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@20.14.2)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@20.14.2)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - create-jest@29.7.0(@types/node@22.5.2): dependencies: '@jest/types': 29.6.3 @@ -50096,27 +50053,6 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)): - dependencies: - '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@20.14.2)) - exit: 0.1.2 - import-local: 3.0.2 - jest-config: 29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@20.14.2)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - optionalDependencies: - node-notifier: 8.0.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest-cli@29.7.0(@types/node@22.5.2): dependencies: '@jest/core': 29.7.0 @@ -50312,37 +50248,6 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@20.14.2)): - dependencies: - '@babel/core': 7.23.9 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.23.9) - chalk: 4.1.2 - ci-info: 3.3.2 - deepmerge: 4.2.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.14.2 - ts-node: 10.9.2(@types/node@20.14.2) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - jest-config@29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)): dependencies: '@babel/core': 7.23.9 @@ -50855,20 +50760,6 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)): - dependencies: - '@jest/core': 29.7.0(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)) - '@jest/types': 29.6.3 - import-local: 3.0.2 - jest-cli: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)) - optionalDependencies: - node-notifier: 8.0.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest@29.7.0(@types/node@22.5.2): dependencies: '@jest/core': 29.7.0 @@ -56652,24 +56543,6 @@ snapshots: optionalDependencies: '@swc/core': 1.3.92 - ts-node@10.9.2(@types/node@20.14.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 20.14.2 - acorn: 8.12.1 - acorn-walk: 8.2.0 - arg: 4.1.0 - create-require: 1.1.1 - diff: 4.0.1 - make-error: 1.3.6 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3): dependencies: '@cspotcode/source-map-support': 0.8.1 diff --git a/repo/graph.dot b/repo/graph.dot index f94ed30c82c..f8e30de6f27 100644 --- a/repo/graph.dot +++ b/repo/graph.dot @@ -568,6 +568,7 @@ digraph G { "@kie-tools/sonataflow-image-common" -> "@kie-tools/root-env" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/image-builder" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/image-env-to-json" [ style = "dashed", color = "black" ]; + "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/sonataflow-management-console-image-env" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/sonataflow-management-console-webapp" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image-env" -> "@kie-tools/root-env" [ style = "dashed", color = "black" ]; diff --git a/repo/graph.json b/repo/graph.json index 9049d67f179..49225144ea6 100644 --- a/repo/graph.json +++ b/repo/graph.json @@ -2346,6 +2346,11 @@ "target": "@kie-tools/image-env-to-json", "weight": 1 }, + { + "source": "@kie-tools/sonataflow-management-console-image", + "target": "@kie-tools/sonataflow-image-common", + "weight": 1 + }, { "source": "@kie-tools/sonataflow-management-console-image", "target": "@kie-tools/sonataflow-management-console-image-env", From 6497ecd571a5a150f465095c88454f512cb24a95 Mon Sep 17 00:00:00 2001 From: Ricardo Zanini Date: Wed, 11 Sep 2024 17:17:56 -0400 Subject: [PATCH 2/4] Clean up and adding Cekit as main build Signed-off-by: Ricardo Zanini --- packages/python-venv/requirements.txt | 4 ++-- .../modules/kogito-system-user/add-user | 17 +++++++++++++++-- .../modules/kogito-system-user/module.yaml | 2 ++ .../env/index.js | 2 +- .../package.json | 11 ++++++----- ...kie-sonataflow-management-console-image.yaml | 10 ++++++++-- .../management-console/added/entrypoint.sh | 4 ++-- .../management-console/configure-httpd.sh | 14 ++++++-------- .../sonataflow/management-console/module.yaml | 17 ++++++++++++++--- 9 files changed, 56 insertions(+), 25 deletions(-) diff --git a/packages/python-venv/requirements.txt b/packages/python-venv/requirements.txt index d0ae8d7b5c2..e9ed53c7bdd 100644 --- a/packages/python-venv/requirements.txt +++ b/packages/python-venv/requirements.txt @@ -1,9 +1,9 @@ requests<2.32.0 -cekit==4.11.0 +cekit==4.13.0 behave==1.2.6 lxml==5.2.1 docker==7.0.0 -docker-squash==1.2.0 +docker-squash==1.2.1 elementpath==4.4.0 pyyaml==6.0.1 ruamel.yaml==0.18.6 diff --git a/packages/sonataflow-image-common/resources/modules/kogito-system-user/add-user b/packages/sonataflow-image-common/resources/modules/kogito-system-user/add-user index cd5c209fc8b..f90e5b6178f 100644 --- a/packages/sonataflow-image-common/resources/modules/kogito-system-user/add-user +++ b/packages/sonataflow-image-common/resources/modules/kogito-system-user/add-user @@ -17,8 +17,21 @@ # specific language governing permissions and limitations # under the License. # -groupadd -r kogito -g 1001 && useradd -u 1001 -r -g root -G "${USER}" -m -d "${KOGITO_HOME}" -s /sbin/nologin -c "Kogito user" ${USER} -mkdir "${KOGITO_HOME}"/bin +# Check if group 1001 exists, if not, create it +if ! getent group kogito >/dev/null; then + groupadd -r kogito -g ${USER_ID} +fi + +# Check if user 1001 exists, if not, reuse it for kogito +if ! id "${USER_ID}" >/dev/null 2>&1; then + useradd -u "${USER_ID}" -r -g kogito -G root -m -d "${KOGITO_HOME}" -s /sbin/nologin -c "Kogito user" ${USER} +else + echo "User with UID ${USER_ID} already exists, reusing it." + # Change home directory and group for the existing user + usermod -d "${KOGITO_HOME}" -g kogito ${USER} +fi + +mkdir -p "${KOGITO_HOME}"/bin chmod ug+rwX "${KOGITO_HOME}" diff --git a/packages/sonataflow-image-common/resources/modules/kogito-system-user/module.yaml b/packages/sonataflow-image-common/resources/modules/kogito-system-user/module.yaml index 95e925d7cb8..efa064bc637 100644 --- a/packages/sonataflow-image-common/resources/modules/kogito-system-user/module.yaml +++ b/packages/sonataflow-image-common/resources/modules/kogito-system-user/module.yaml @@ -31,3 +31,5 @@ envs: value: "/home/kogito" - name: "USER" value: "kogito" + - name: "USER_ID" + value: 1001 diff --git a/packages/sonataflow-management-console-image/env/index.js b/packages/sonataflow-management-console-image/env/index.js index f6ac7101201..50f80317fdc 100644 --- a/packages/sonataflow-management-console-image/env/index.js +++ b/packages/sonataflow-management-console-image/env/index.js @@ -17,7 +17,7 @@ * under the License. */ -const { varsWithName, composeEnv, getOrDefault } = require("@kie-tools-scripts/build-env"); +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); const rootEnv = require("@kie-tools/root-env/env"); diff --git a/packages/sonataflow-management-console-image/package.json b/packages/sonataflow-management-console-image/package.json index 25bba7c5ffc..9e1c5d22daf 100644 --- a/packages/sonataflow-management-console-image/package.json +++ b/packages/sonataflow-management-console-image/package.json @@ -13,11 +13,12 @@ "url": "https://github.com/apache/incubator-kie-tools/issues" }, "scripts": { - "build:dev": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:docker:build\"", - "build:prod": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:docker:build\"", - "cekit:build": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && cekit:copy && pnpm cekit:setup:env && make -C ./dist-dev build", - "cekit:copy": "run-script-os", - "cekit:copy:linux:darwin": "rimraf dist-dev && cp -R ./node_modules/@kie-tools/sonataflow-image-common/resources ./dist-dev/ && cp -R resources/* ./dist-dev/", + "build:dev": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm cekit:build\"", + "build:prod": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm cekit:build\"", + "cekit:build": "run-script-os", + "cekit:build:linux": "pnpm cekit:copy && pnpm cekit:setup:env make -C ./dist-dev build", + "cekit:build:win32:darwin": "echo \"Build skipped on macOS and Windows\"", + "cekit:copy": "cp -R ./node_modules/@kie-tools/sonataflow-image-common/resources/* ./dist-dev/ && cp -R resources/* ./dist-dev/", "cekit:setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && cross-env SWF_IMAGE_REGISTRY=$(build-env sonataflowManagementConsoleImageEnv.registry) SWF_IMAGE_REGISTRY_ACCOUNT=$(build-env sonataflowManagementConsoleImageEnv.account) SWF_IMAGE_NAME=$(build-env sonataflowManagementConsoleImageEnv.name) SWF_IMAGE_TAG=$(build-env sonataflowManagementConsoleImageEnv.buildTag) QUARKUS_PLATFORM_VERSION=$(build-env quarkusPlatform.version) KOGITO_VERSION=$(build-env kogitoRuntime.version) SONATAFLOW_MANAGEMENT_CONSOLE_PORT=$(build-env sonataflowManagementConsoleImageEnv.port)", "cleanup": "rimraf dist-dev && mkdir dist-dev", "copy:assets": "pnpm copy:webapp-assets && pnpm copy:image-env-to-json", diff --git a/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml b/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml index badf67989af..01ebf37e650 100644 --- a/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml +++ b/packages/sonataflow-management-console-image/resources/incubator-kie-sonataflow-management-console-image.yaml @@ -35,7 +35,7 @@ - name: "io.openshift.tags" value: "sonataflow,serverless,workflow" - name: "io.openshift.expose-services" - value: "$KOGITO_MANAGEMENT_CONSOLE_PORT:http" + value: "8080:http" modules: repositories: @@ -47,7 +47,13 @@ - name: org.kie.sonataflow.management.console ports: - - value: $KOGITO_MANAGEMENT_CONSOLE_PORT + - value: 8080 + + envs: + - name: SONATAFLOW_MANAGEMENT_CONSOLE_KOGITO_ENV_MODE + value: PROD + - name: SUMMARY + value: "SonataFlow Management Console Image" run: workdir: "/home/kogito/management-console" diff --git a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh index 74183f641fa..20d57a5c891 100644 --- a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh +++ b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/added/entrypoint.sh @@ -21,8 +21,8 @@ set -e # Copying the Task Console assets here is essential for when the container is running with the readOnlyRootFilesystem flag. # But, just like any other directory modified during runtime, the /var/www/html must be a mounted volume in the container in this case. -cp -R "${KOGITO_HOME}/management-console/app/*" "${HTTPD_DATA_PATH}/html" +cp -R "${KOGITO_HOME}/management-console/app/"* "${HTTPD_DATA_PATH}/html" "${KOGITO_HOME}/management-console/image-env-to-json-standalone" --directory "${HTTPD_DATA_PATH}/html" --json-schema "${KOGITO_HOME}/management-console/EnvJson.schema.json" -httpd -D FOREGROUND +run-httpd diff --git a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh index 61dde647589..7797df0f736 100644 --- a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh +++ b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/configure-httpd.sh @@ -27,23 +27,21 @@ MGMT_CONSOLE_HOME="${KOGITO_HOME}/management-console" echo "Mutex posixsem" >> "${HTTPD_MAIN_CONF_PATH}/httpd.conf" sed -i -e "/#ServerName www.example.com:80/aHeader set Content-Security-Policy \"frame-ancestors 'self';\"" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" sed -i -e 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" -sed -i "s/Listen 80/Listen ${KOGITO_MANAGEMENT_CONSOLE_PORT}/g" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" -sed -i "s/#ServerName www.example.com:80/ServerName 127.0.0.1:${KOGITO_MANAGEMENT_CONSOLE_PORT}/g" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i "s/Listen 80/Listen ${SONATAFLOW_MANAGEMENT_CONSOLE_PORT}/g" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i "s/#ServerName www.example.com:80/ServerName 127.0.0.1:${SONATAFLOW_MANAGEMENT_CONSOLE_PORT}/g" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" sed -i '$ a ServerTokens Prod' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" sed -i '$ a ServerSignature Off' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" -sed -i -e "//a RewriteEngine on\n RewriteCond %{REQUEST_FILENAME} -f [OR]\n RewriteCond %{REQUEST_FILENAME} -d\n RewriteRule ^ - [L]\n RewriteRule ^ index.html [L]" "${HTTPD_MAIN_CONF_PATH}/httpd.conf" +sed -i -e '//a RewriteEngine on\n RewriteCond %{REQUEST_FILENAME} -f [OR]\n RewriteCond %{REQUEST_FILENAME} -d\n RewriteRule ^ - [L]\n RewriteRule ^ index.html [L]' "${HTTPD_MAIN_CONF_PATH}/httpd.conf" + # Set the required paths -mkdir -p "${MGMT_CONSOLE_HOME}" +mkdir -p "${MGMT_CONSOLE_HOME}/launch" # Copy the entrypoint and other init scripts cp -v "${SCRIPT_DIR}"/added/* "${MGMT_CONSOLE_HOME}"/launch -# Copy the application -cp -vr "${SOURCES_DIR}/management-console/"* "${MGMT_CONSOLE_HOME}/" - # Fixing permissions chmod +x "${MGMT_CONSOLE_HOME}/launch/entrypoint.sh" "${MGMT_CONSOLE_HOME}/image-env-to-json-standalone" -chown -R "${KOGITO_USER}" "${MGMT_CONSOLE_HOME}" +chown -R "${USER_ID}" "${MGMT_CONSOLE_HOME}" if [ -f "${MGMT_CONSOLE_HOME}/app/env.json" ]; then chmod a+w "${MGMT_CONSOLE_HOME}/app/env.json"; fi diff --git a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml index d116f47a324..34b627dfc6a 100644 --- a/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml +++ b/packages/sonataflow-management-console-image/resources/modules/sonataflow/management-console/module.yaml @@ -24,7 +24,18 @@ description: "SonataFlow Management Console Launch Scripts and Configurations" execute: - script: configure-httpd.sh +envs: + - name: SONATAFLOW_MANAGEMENT_CONSOLE_PORT + value: 8080 + artifacts: - - name: management-console-app - path: ./dist-dev/sonataflow-management-console-webapp - target: management-console + - name: sonataflow-management-console-webapp + path: "../../../../../sonataflow-management-console-webapp/" + dest: /home/kogito/management-console/app + target: app + - name: image-env-to-json-standalone + path: "../../../../../image-env-to-json-standalone" + dest: /home/kogito/management-console + - name: EnvJson.schema.json + path: "../../../../../EnvJson.schema.json" + dest: /home/kogito/management-console From 2f3db4c4da5eff0ff09da736bf42218f975c917f Mon Sep 17 00:00:00 2001 From: Ricardo Zanini Date: Thu, 12 Sep 2024 09:12:00 -0400 Subject: [PATCH 3/4] Clean up old deps Signed-off-by: Ricardo Zanini --- .../Containerfile | 51 ------------------- .../entrypoint.sh | 27 ---------- .../package.json | 16 +++--- repo/graph.dot | 1 - repo/graph.json | 5 -- 5 files changed, 7 insertions(+), 93 deletions(-) delete mode 100644 packages/sonataflow-management-console-image/Containerfile delete mode 100644 packages/sonataflow-management-console-image/entrypoint.sh diff --git a/packages/sonataflow-management-console-image/Containerfile b/packages/sonataflow-management-console-image/Containerfile deleted file mode 100644 index 1d0e875c37b..00000000000 --- a/packages/sonataflow-management-console-image/Containerfile +++ /dev/null @@ -1,51 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.4 - -ARG KOGITO_MANAGEMENT_CONSOLE_PORT=8080 - -ENV SONATAFLOW_MANAGEMENT_CONSOLE_KOGITO_ENV_MODE="PROD" - -COPY entrypoint.sh dist-dev/image-env-to-json-standalone dist-dev/EnvJson.schema.json /tmp/ - -RUN microdnf --disableplugin=subscription-manager -y install httpd \ - && microdnf --disableplugin=subscription-manager clean all \ - && echo "Mutex posixsem" >> /etc/httpd/conf/httpd.conf \ - && sed -i -e "/#ServerName www.example.com:80/aHeader set Content-Security-Policy \"frame-ancestors 'self';\"" /etc/httpd/conf/httpd.conf \ - && sed -i -e 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' /etc/httpd/conf/httpd.conf \ - && sed -i "s/Listen 80/Listen ${KOGITO_MANAGEMENT_CONSOLE_PORT}/g" /etc/httpd/conf/httpd.conf \ - && sed -i "s/#ServerName www.example.com:80/ServerName 127.0.0.1:${KOGITO_MANAGEMENT_CONSOLE_PORT}/g" /etc/httpd/conf/httpd.conf \ - && sed -i '$ a ServerTokens Prod' /etc/httpd/conf/httpd.conf \ - && sed -i '$ a ServerSignature Off' /etc/httpd/conf/httpd.conf \ - && sed -i -e '//a RewriteEngine on\n RewriteCond %{REQUEST_FILENAME} -f [OR]\n RewriteCond %{REQUEST_FILENAME} -d\n RewriteRule ^ - [L]\n RewriteRule ^ index.html [L]' /etc/httpd/conf/httpd.conf \ - && chmod -R g=u /etc/httpd/conf \ - && mkdir /management-console \ - && mv -t /management-console /tmp/entrypoint.sh /tmp/image-env-to-json-standalone /tmp/EnvJson.schema.json \ - && chgrp -R 0 /var/log/httpd /var/run/httpd /var/www/html /management-console \ - && chmod -R g=u /var/log/httpd /var/run/httpd /var/www/html /management-console \ - && chmod +x /management-console/entrypoint.sh /management-console/image-env-to-json-standalone - -COPY dist-dev/sonataflow-management-console-webapp /management-console/app - -RUN if [ -f /management-console/app/env.json ]; then chmod a+w /management-console/app/env.json; fi - -EXPOSE ${KOGITO_MANAGEMENT_CONSOLE_PORT} - -USER 1000 - -ENTRYPOINT [ "/management-console/entrypoint.sh" ] diff --git a/packages/sonataflow-management-console-image/entrypoint.sh b/packages/sonataflow-management-console-image/entrypoint.sh deleted file mode 100644 index 1b92377150b..00000000000 --- a/packages/sonataflow-management-console-image/entrypoint.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -# Copying the Task Console assets here is essential for when the container is running with the readOnlyRootFilesystem flag. -# But, just like any other directory modified during runtime, the /var/www/html must be a mounted volume in the container in this case. -cp -R /management-console/app/* /var/www/html - -/management-console/image-env-to-json-standalone --directory /var/www/html --json-schema /management-console/EnvJson.schema.json - -httpd -D FOREGROUND diff --git a/packages/sonataflow-management-console-image/package.json b/packages/sonataflow-management-console-image/package.json index 9e1c5d22daf..e0ba9122584 100644 --- a/packages/sonataflow-management-console-image/package.json +++ b/packages/sonataflow-management-console-image/package.json @@ -13,13 +13,8 @@ "url": "https://github.com/apache/incubator-kie-tools/issues" }, "scripts": { - "build:dev": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm cekit:build\"", - "build:prod": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm cekit:build\"", - "cekit:build": "run-script-os", - "cekit:build:linux": "pnpm cekit:copy && pnpm cekit:setup:env make -C ./dist-dev build", - "cekit:build:win32:darwin": "echo \"Build skipped on macOS and Windows\"", - "cekit:copy": "cp -R ./node_modules/@kie-tools/sonataflow-image-common/resources/* ./dist-dev/ && cp -R resources/* ./dist-dev/", - "cekit:setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && cross-env SWF_IMAGE_REGISTRY=$(build-env sonataflowManagementConsoleImageEnv.registry) SWF_IMAGE_REGISTRY_ACCOUNT=$(build-env sonataflowManagementConsoleImageEnv.account) SWF_IMAGE_NAME=$(build-env sonataflowManagementConsoleImageEnv.name) SWF_IMAGE_TAG=$(build-env sonataflowManagementConsoleImageEnv.buildTag) QUARKUS_PLATFORM_VERSION=$(build-env quarkusPlatform.version) KOGITO_VERSION=$(build-env kogitoRuntime.version) SONATAFLOW_MANAGEMENT_CONSOLE_PORT=$(build-env sonataflowManagementConsoleImageEnv.port)", + "build:dev": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:cekit:build\"", + "build:prod": "pnpm cleanup && pnpm env-json:schema:generate && pnpm copy:assets && run-script-if --bool \"$(build-env containerImages.build)\" --then \"pnpm image:cekit:build\"", "cleanup": "rimraf dist-dev && mkdir dist-dev", "copy:assets": "pnpm copy:webapp-assets && pnpm copy:image-env-to-json", "copy:image-env-to-json": "run-script-os", @@ -29,10 +24,13 @@ "copy:webapp-assets:linux:darwin": "cp -R ./node_modules/@kie-tools/sonataflow-management-console-webapp/dist/ ./dist-dev/sonataflow-management-console-webapp", "copy:webapp-assets:win32": "pnpm powershell \"Copy-Item -R ./node_modules/@kie-tools/sonataflow-management-console-webapp/dist/ ./dist-dev/sonataflow-management-console-webapp\"", "env-json:schema:generate": "ts-json-schema-generator --tsconfig ./node_modules/@kie-tools/sonataflow-management-console-webapp/tsconfig.json --path ./node_modules/@kie-tools/sonataflow-management-console-webapp/src/env/EnvJson.ts --type EnvJson --id EnvJson --out ./dist-dev/EnvJson.schema.json", - "image:docker:build": "kie-tools--image-builder build -r \"$(build-env sonataflowManagementConsoleImageEnv.registry)\" -a \"$(build-env sonataflowManagementConsoleImageEnv.account)\" -n \"$(build-env sonataflowManagementConsoleImageEnv.name)\" -t \"$(build-env sonataflowManagementConsoleImageEnv.buildTag)\" --build-arg SONATAFLOW_MANAGEMENT_CONSOLE_PORT=\"$(build-env sonataflowManagementConsoleImageEnv.port)\"" + "image:cekit:build": "run-script-os", + "image:cekit:build:linux": "pnpm image:cekit:copy && pnpm image:cekit:setup:env make -C ./dist-dev build", + "image:cekit:build:win32:darwin": "echo \"Build skipped on macOS and Windows\"", + "image:cekit:copy": "cp -R ./node_modules/@kie-tools/sonataflow-image-common/resources/* ./dist-dev/ && cp -R resources/* ./dist-dev/", + "image:cekit:setup:env": ". ./node_modules/@kie-tools/python-venv/venv/bin/activate && cross-env SWF_IMAGE_REGISTRY=$(build-env sonataflowManagementConsoleImageEnv.registry) SWF_IMAGE_REGISTRY_ACCOUNT=$(build-env sonataflowManagementConsoleImageEnv.account) SWF_IMAGE_NAME=$(build-env sonataflowManagementConsoleImageEnv.name) SWF_IMAGE_TAG=$(build-env sonataflowManagementConsoleImageEnv.buildTag) QUARKUS_PLATFORM_VERSION=$(build-env quarkusPlatform.version) KOGITO_VERSION=$(build-env kogitoRuntime.version) SONATAFLOW_MANAGEMENT_CONSOLE_PORT=$(build-env sonataflowManagementConsoleImageEnv.port)" }, "devDependencies": { - "@kie-tools/image-builder": "workspace:*", "@kie-tools/image-env-to-json": "workspace:*", "@kie-tools/python-venv": "workspace:*", "@kie-tools/root-env": "workspace:*", diff --git a/repo/graph.dot b/repo/graph.dot index f8e30de6f27..fbfb7d726f5 100644 --- a/repo/graph.dot +++ b/repo/graph.dot @@ -566,7 +566,6 @@ digraph G { "@kie-tools/sonataflow-devmode-image" -> "@kie-tools/sonataflow-quarkus-devui" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-image-common" -> "@kie-tools/python-venv" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-image-common" -> "@kie-tools/root-env" [ style = "dashed", color = "black" ]; - "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/image-builder" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/image-env-to-json" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/sonataflow-image-common" [ style = "dashed", color = "black" ]; "@kie-tools/sonataflow-management-console-image" -> "@kie-tools/sonataflow-management-console-image-env" [ style = "dashed", color = "black" ]; diff --git a/repo/graph.json b/repo/graph.json index 49225144ea6..ac0da5d0af0 100644 --- a/repo/graph.json +++ b/repo/graph.json @@ -2336,11 +2336,6 @@ "target": "@kie-tools/vscode-extension-common-test-helpers", "weight": 1 }, - { - "source": "@kie-tools/sonataflow-management-console-image", - "target": "@kie-tools/image-builder", - "weight": 1 - }, { "source": "@kie-tools/sonataflow-management-console-image", "target": "@kie-tools/image-env-to-json", From 6b1524a9d670b2c721a8462e91cb8910c54c66f1 Mon Sep 17 00:00:00 2001 From: Ricardo Zanini Date: Thu, 12 Sep 2024 09:31:18 -0400 Subject: [PATCH 4/4] Fixed pnpm-lock.yaml Signed-off-by: Ricardo Zanini --- pnpm-lock.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 672ba17cee7..25ecfa7ba99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10835,9 +10835,6 @@ importers: packages/sonataflow-management-console-image: devDependencies: - '@kie-tools/image-builder': - specifier: workspace:* - version: link:../image-builder '@kie-tools/image-env-to-json': specifier: workspace:* version: link:../image-env-to-json