This is an automated email from the ASF dual-hosted git repository. mgubaidullin pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit 2ee020348c1b188544be9c524fafb7bdae101a4f Author: Marat Gubaidullin <[email protected]> AuthorDate: Mon Aug 24 18:01:11 2026 -0400 Karavan-app UI Refactoring --- karavan-app/mvnw | 308 --------------------- karavan-app/mvnw.cmd | 205 -------------- karavan-app/pom.xml | 53 ++-- karavan-app/src/main/webui/index.html | 2 +- .../main/webui/src/core/api/CamelDefinitionYaml.ts | 1 - karavan-app/src/main/webui/src/core/contants.ts | 8 - .../src/main/webui/src/models/AccessModels.ts | 6 - .../src/main/webui/src/models/CatalogModels.ts | 49 ---- .../src/main/webui/src/models/ComplexityModels.ts | 3 - .../src/main/webui/src/stores/DashboardStore.ts | 38 +-- .../src/main/webui/src/stores/ProjectStore.ts | 4 +- .../src/main/webui/src/stores/SystemStore.ts | 2 +- .../main/webui/src/stores/useProjectInfoStore.ts | 4 +- 13 files changed, 23 insertions(+), 660 deletions(-) diff --git a/karavan-app/mvnw b/karavan-app/mvnw deleted file mode 100755 index 8d937f4c..00000000 --- a/karavan-app/mvnw +++ /dev/null @@ -1,308 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# 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. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.2.0 -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /usr/local/etc/mavenrc ] ; then - . /usr/local/etc/mavenrc - fi - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "$(uname)" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME - else - JAVA_HOME="/Library/Java/Home"; export JAVA_HOME - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=$(java-config --jre-home) - fi -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --unix "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --unix "$CLASSPATH") -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && - JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="$(which javac)" - if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=$(which readlink) - if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then - if $darwin ; then - javaHome="$(dirname "\"$javaExecutable\"")" - javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" - else - javaExecutable="$(readlink -f "\"$javaExecutable\"")" - fi - javaHome="$(dirname "\"$javaExecutable\"")" - javaHome=$(expr "$javaHome" : '\(.*\)/bin') - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=$(cd "$wdir/.." || exit 1; pwd) - fi - # end of workaround - done - printf '%s' "$(cd "$basedir" || exit 1; pwd)" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - # Remove \r in case we run on Windows within Git Bash - # and check out the repository with auto CRLF management - # enabled. Otherwise, we may read lines that are delimited with - # \r\n and produce $'-Xarg\r' rather than -Xarg due to word - # splitting rules. - tr -s '\r\n' ' ' < "$1" - fi -} - -log() { - if [ "$MVNW_VERBOSE" = true ]; then - printf '%s\n' "$1" - fi -} - -BASE_DIR=$(find_maven_basedir "$(dirname "$0")") -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR -log "$MAVEN_PROJECTBASEDIR" - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" -if [ -r "$wrapperJarPath" ]; then - log "Found $wrapperJarPath" -else - log "Couldn't find $wrapperJarPath, downloading it ..." - - if [ -n "$MVNW_REPOURL" ]; then - wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - else - wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - fi - while IFS="=" read -r key value; do - # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) - safeValue=$(echo "$value" | tr -d '\r') - case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; - esac - done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" - log "Downloading from: $wrapperUrl" - - if $cygwin; then - wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") - fi - - if command -v wget > /dev/null; then - log "Found wget ... using wget" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - log "Found curl ... using curl" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - else - curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - fi - else - log "Falling back to using Java to download" - javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" - javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaSource=$(cygpath --path --windows "$javaSource") - javaClass=$(cygpath --path --windows "$javaClass") - fi - if [ -e "$javaSource" ]; then - if [ ! -e "$javaClass" ]; then - log " - Compiling MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/javac" "$javaSource") - fi - if [ -e "$javaClass" ]; then - log " - Running MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -# If specified, validate the SHA-256 sum of the Maven wrapper jar file -wrapperSha256Sum="" -while IFS="=" read -r key value; do - case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; - esac -done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" -if [ -n "$wrapperSha256Sum" ]; then - wrapperSha256Result=false - if command -v sha256sum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then - wrapperSha256Result=true - fi - elif command -v shasum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then - wrapperSha256Result=true - fi - else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." - echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." - exit 1 - fi - if [ $wrapperSha256Result = false ]; then - echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 - echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 - echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 - exit 1 - fi -fi - -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --windows "$CLASSPATH") - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -# shellcheck disable=SC2086 # safe args -exec "$JAVACMD" \ - $MAVEN_OPTS \ - $MAVEN_DEBUG_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/karavan-app/mvnw.cmd b/karavan-app/mvnw.cmd deleted file mode 100644 index f80fbad3..00000000 --- a/karavan-app/mvnw.cmd +++ /dev/null @@ -1,205 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.2.0 -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %WRAPPER_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file -SET WRAPPER_SHA_256_SUM="" -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B -) -IF NOT %WRAPPER_SHA_256_SUM%=="" ( - powershell -Command "&{"^ - "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ - "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ - " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ - " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ - " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ - " exit 1;"^ - "}"^ - "}" - if ERRORLEVEL 1 goto error -) - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% ^ - %JVM_CONFIG_MAVEN_PROPS% ^ - %MAVEN_OPTS% ^ - %MAVEN_DEBUG_OPTS% ^ - -classpath %WRAPPER_JAR% ^ - "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ - %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" -if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%"=="on" pause - -if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% diff --git a/karavan-app/pom.xml b/karavan-app/pom.xml index 5e8d84ce..1218f091 100644 --- a/karavan-app/pom.xml +++ b/karavan-app/pom.xml @@ -1,46 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>org.apache.camel.karavan</groupId> <artifactId>karavan</artifactId> - <version>4.18.1</version> + <version>4.22.0</version> <properties> - <compiler-plugin.version>3.14.0</compiler-plugin.version> + <compiler-plugin.version>3.15.0</compiler-plugin.version> <maven.compiler.parameters>true</maven.compiler.parameters> - <maven.compiler.source>21</maven.compiler.source> - <jandex-maven-plugin-version>3.1.1</jandex-maven-plugin-version> - <maven.compiler.target>21</maven.compiler.target> + <maven.compiler.source>25</maven.compiler.source> + <maven.compiler.release>25</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id> <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id> - <quarkus.platform.version>3.27.2</quarkus.platform.version> - <surefire-plugin.version>3.1.0</surefire-plugin.version> - <jgit.version>3.6.1</jgit.version> - <quinoa.version>2.7.1</quinoa.version> - <commons-text.version>1.14.0</commons-text.version> - <resources-plugin.version>3.3.0</resources-plugin.version> - <json-schema-validator.version>1.5.9</json-schema-validator.version> - <docker-java.version>3.7.0</docker-java.version> + <quarkus.platform.version>3.33.3.1</quarkus.platform.version> + <surefire-plugin.version>3.5.6</surefire-plugin.version> + <jgit.version>3.7.0</jgit.version> + <quinoa.version>2.8.3</quinoa.version> + <commons-text.version>1.15.0</commons-text.version> + <resources-plugin.version>3.5.0</resources-plugin.version> + <docker-java.version>3.7.1</docker-java.version> </properties> <dependencyManagement> @@ -60,10 +42,6 @@ <groupId>io.quarkus</groupId> <artifactId>quarkus-cache</artifactId> </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-messaging</artifactId> - </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-scheduler</artifactId> @@ -121,13 +99,11 @@ <dependency> <groupId>com.github.docker-java</groupId> <artifactId>docker-java-core</artifactId> - <version>${docker-java.version}</version> <optional>false</optional> </dependency> <dependency> <groupId>com.github.docker-java</groupId> <artifactId>docker-java-transport-httpclient5</artifactId> - <version>${docker-java.version}</version> <optional>false</optional> </dependency> <!-- Docker--> @@ -154,10 +130,9 @@ <groupId>io.quarkus</groupId> <artifactId>quarkus-flyway</artifactId> </dependency> - <!-- YAML Validator --> <dependency> <groupId>io.quarkus</groupId> - <artifactId>quarkus-junit5</artifactId> + <artifactId>quarkus-junit</artifactId> <scope>test</scope> </dependency> <dependency> @@ -166,6 +141,7 @@ <scope>test</scope> </dependency> </dependencies> + <build> <resources> <resource> @@ -195,6 +171,7 @@ </executions> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${compiler-plugin.version}</version> <configuration> @@ -209,11 +186,13 @@ <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> <maven.home>${maven.home}</maven.home> </systemPropertyVariables> + <argLine>@{argLine}</argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> + <version>${resources-plugin.version}</version> <configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>ico</nonFilteredFileExtension> diff --git a/karavan-app/src/main/webui/index.html b/karavan-app/src/main/webui/index.html index cc8136bf..56aabbb7 100644 --- a/karavan-app/src/main/webui/index.html +++ b/karavan-app/src/main/webui/index.html @@ -7,7 +7,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> - <title>Talisman Platform</title> + <title>Karavan</title> </head> <body> diff --git a/karavan-app/src/main/webui/src/core/api/CamelDefinitionYaml.ts b/karavan-app/src/main/webui/src/core/api/CamelDefinitionYaml.ts index 3664a2c9..0cf2785b 100644 --- a/karavan-app/src/main/webui/src/core/api/CamelDefinitionYaml.ts +++ b/karavan-app/src/main/webui/src/core/api/CamelDefinitionYaml.ts @@ -389,7 +389,6 @@ export class CamelDefinitionYaml { return properties; }; - // add generated Integration YAML into existing Integration YAML static addYamlToIntegrationYaml = ( filename: string, camelYaml: string | undefined, diff --git a/karavan-app/src/main/webui/src/core/contants.ts b/karavan-app/src/main/webui/src/core/contants.ts index fc2762d7..779b0c13 100644 --- a/karavan-app/src/main/webui/src/core/contants.ts +++ b/karavan-app/src/main/webui/src/core/contants.ts @@ -20,21 +20,13 @@ export const KARAVAN_DOT_EXTENSION = { export const FILE_WORDS_SEPARATOR = '-' export const OPENAPI_FILE_NAME_JSON = 'openapi.json'; -export const OPENAPI_FILE_NAME_YAML = 'openapi.yaml'; export const LANDSCAPE_FILE_NAME_JSON = 'landscape-asyncapi.json'; export const LANDSCAPE_FILE_NAME_YAML = 'landscape-asyncapi.yaml'; export const JSON_EXTENSION = ".json"; export const MARKDOWN_EXTENSION = ".md"; -export const PROJECT_MD_FILE_NAME = "PROJECT.md"; -export const README_FILE_NAME = "README.md"; -export const JSON_ARGUMENTS_EXTENSION = ".arguments.json"; export const JSON_SCHEMA_EXTENSION = ".schema.json"; -export const MCP_SERVER_EXTENSION = ".server.json"; export const WIZARD_BEAN_TEMPLATE_FILENAME_PREFIX = "wizard-bean-"; export const LANDSCAPE_TEMPLATE_FILENAME_PREFIX = "landscape-"; -export const OPENAPI_ROUTE_TEMPLATE_FILENAME = "openapi-route.camel.yaml"; -export const OPENAPI_JSON_TEMPLATE_FILENAME = 'landscape-http-openapi.json'; -export const REST_CONFIGURATION_FILENAME = "rest-configuration.camel.yaml"; export const X_APPLICATION_ID = "x-application-id"; \ No newline at end of file diff --git a/karavan-app/src/main/webui/src/models/AccessModels.ts b/karavan-app/src/main/webui/src/models/AccessModels.ts index a2f9c2c8..b70515db 100644 --- a/karavan-app/src/main/webui/src/models/AccessModels.ts +++ b/karavan-app/src/main/webui/src/models/AccessModels.ts @@ -28,9 +28,6 @@ export class AccessUser { } } -/** - * Represents the external agent metadata stored in the platform cache. - */ export interface AccessToken { hashedToken: string; ownerName: string; @@ -40,9 +37,6 @@ export interface AccessToken { expiresAt: string; // ISO-8601 string } -/** - * Payload sent to the backend to generate a new agent token. - */ export interface GenerateTokenRequest { clientName: string; allowedProjectIds?: string[]; // Optional: if omitted, backend defaults to ["*"] diff --git a/karavan-app/src/main/webui/src/models/CatalogModels.ts b/karavan-app/src/main/webui/src/models/CatalogModels.ts index ecd2d087..ca3f15fc 100644 --- a/karavan-app/src/main/webui/src/models/CatalogModels.ts +++ b/karavan-app/src/main/webui/src/models/CatalogModels.ts @@ -1,26 +1,5 @@ import {ComplexityRouteType} from "./ComplexityModels"; -export interface JsonSchemaProperty { - type?: string; - const?: string; - description?: string; - format?: string; - enum?: string[]; - minLength?: number; - additionalProperties?: boolean; -} - -export interface JsonSchema { - $schema: string; - $id: string; - title: string; - description?: string; - type: "object"; - required?: string[]; - properties: Record<string, JsonSchemaProperty>; - additionalProperties?: boolean; -} - export interface ProjectInfo { projectId: string; isDevModeRunning: boolean; @@ -28,7 +7,6 @@ export interface ProjectInfo { isBuildRunning: boolean; routes: RouteComponentsInfo[]; exposesOpenApi: boolean; - implementsAsyncApi: boolean; } export interface RouteComponentsInfo { @@ -57,30 +35,3 @@ export interface OperationStatistic { failed: number; projectId?: string; } - -export const CHANNEL_PREFIX = "channel"; -export const MESSAGE_PREFIX = "message"; // fixed duplicate value -export const TAG_PREFIX = "message"; // fixed duplicate value -export const OPERATION_PREFIX = "operation"; -export const APPLICATION_PREFIX = "application"; -export const SERVER_PREFIX = "server"; -export const X_APPLICATIONS = "x-applications"; -export const X_APPLICATION_ID = "x-application-id"; -export const X_CAMEL_CONFIGURATION_REF = "x-camel-configuration-ref"; -export const X_CAMEL_SEND_REF = "x-camel-send-ref"; -export const X_CAMEL_RECEIVE_REF = "x-camel-receive-ref"; -export const X_CAMEL_ROUTE_REF = "x-camel-route-ref"; -export const EXTENSIONS_FIELD_NAME = "extensions"; -export const GENERATED_FILENAME_PREFIX = "_gen_"; - - -export const HTTP_METHODS_LOWERCASE: string[] = [ - 'get', - 'post', - 'put', - 'patch', - 'delete', - 'head' -] - -export const HTTP_METHODS: string[] = HTTP_METHODS_LOWERCASE.map(m => m.toUpperCase()); \ No newline at end of file diff --git a/karavan-app/src/main/webui/src/models/ComplexityModels.ts b/karavan-app/src/main/webui/src/models/ComplexityModels.ts index 09daf275..f7575d3d 100644 --- a/karavan-app/src/main/webui/src/models/ComplexityModels.ts +++ b/karavan-app/src/main/webui/src/models/ComplexityModels.ts @@ -43,7 +43,6 @@ export class ComplexityFile { componentsInt: any = {}; componentsExt: any = {}; kamelets: any = {}; - generated: boolean = false; public constructor(init?: Partial<ComplexityFile>) { Object.assign(this, init); @@ -58,8 +57,6 @@ export class ComplexityProject { dependencies: string[] = [] rests: number = 0; exposesOpenApi: boolean = false; - mcp: boolean = false; - agents: boolean = false; type: string; public constructor(init?: Partial<ComplexityProject>) { diff --git a/karavan-app/src/main/webui/src/stores/DashboardStore.ts b/karavan-app/src/main/webui/src/stores/DashboardStore.ts index f88a9682..e090990a 100644 --- a/karavan-app/src/main/webui/src/stores/DashboardStore.ts +++ b/karavan-app/src/main/webui/src/stores/DashboardStore.ts @@ -1,43 +1,7 @@ import {createWithEqualityFn} from "zustand/traditional"; import {shallow} from "zustand/shallow"; -import {Health, Metric} from "@models/DashboardModels"; -interface MetricState { - metrics: Metric[]; - setMetrics: (metrics: Metric[]) => void; - updated: number; -} - -export const useMetricStore = createWithEqualityFn<MetricState>((set) => ({ - metrics: [], - updated: 0, - setMetrics: (metrics: Metric[]) => { - set((state: MetricState) => { - state.metrics.length = 0; - state.metrics.push(...metrics); - return {metrics: state.metrics, updated: Math.random()}; - }); - }, -}), shallow) - -interface HealthState { - healths: Health[]; - setHealths: (healths: Health[]) => void; -} - -export const useHealthStore = createWithEqualityFn<HealthState>((set) => ({ - healths: [], - setHealths: (healths: Health[]) => { - set((state: HealthState) => { - state.healths.length = 0; - state.healths.push(...healths); - return {healths: state.healths}; - }); - }, -}), shallow) - - -export type DashboardSideBarType = 'integration' | 'openAPI' | 'library' | 'mcp' +export type DashboardSideBarType = 'integration' interface DashboardState { showSideBar: DashboardSideBarType; diff --git a/karavan-app/src/main/webui/src/stores/ProjectStore.ts b/karavan-app/src/main/webui/src/stores/ProjectStore.ts index cc468f0a..f903d786 100644 --- a/karavan-app/src/main/webui/src/stores/ProjectStore.ts +++ b/karavan-app/src/main/webui/src/stores/ProjectStore.ts @@ -169,7 +169,7 @@ export const useProjectsStore = createWithEqualityFn<ProjectsState>((set, get) = export const ProjectMenus = ['topology', 'source', 'build', 'containers'] as const; -export const ProjectRuntimeMenus = ['runtime', 'log', 'trace', 'tryout'] as const; +export const ProjectRuntimeMenus = ['log'] as const; export type ProjectMenu = typeof ProjectMenus[number]; export type ProjectRuntimeMenu = typeof ProjectRuntimeMenus[number]; @@ -252,7 +252,7 @@ export const useProjectStore = createWithEqualityFn<ProjectState>((set, get) => }), shallow) -export type FilesSideBarType = 'create' | 'upload' | 'library' +export type FilesSideBarType = 'create' | 'upload' interface FilesState { files: ProjectFile[]; diff --git a/karavan-app/src/main/webui/src/stores/SystemStore.ts b/karavan-app/src/main/webui/src/stores/SystemStore.ts index bd3ea094..a34d7df9 100644 --- a/karavan-app/src/main/webui/src/stores/SystemStore.ts +++ b/karavan-app/src/main/webui/src/stores/SystemStore.ts @@ -2,7 +2,7 @@ import {createWithEqualityFn} from "zustand/traditional"; import {shallow} from "zustand/shallow"; import {KubernetesConfigMap, KubernetesSecret} from "@models/SystemModels"; -export const SystemMenus = ['containers', 'deployments', 'secrets', 'configMaps', 'envVars', 'appProps', 'log'] as const; +export const SystemMenus = ['containers', 'deployments', 'envVars', 'appProps', 'log'] as const; export type SystemMenu = typeof SystemMenus[number] ; interface SystemState { diff --git a/karavan-app/src/main/webui/src/stores/useProjectInfoStore.ts b/karavan-app/src/main/webui/src/stores/useProjectInfoStore.ts index e62684c5..21bd9ff3 100644 --- a/karavan-app/src/main/webui/src/stores/useProjectInfoStore.ts +++ b/karavan-app/src/main/webui/src/stores/useProjectInfoStore.ts @@ -8,12 +8,12 @@ import {createWithEqualityFn} from "zustand/traditional"; import {shallow} from "zustand/shallow"; -type OpenApiState = { +type ProjectInfoState = { projectInfos: ProjectInfo[]; fetchProjectInfos: () => Promise<void>; } -export const useOpenApiStore = createWithEqualityFn<OpenApiState>((set, get) => ({ +export const useProjectInfoStore = createWithEqualityFn<ProjectInfoState>((set, get) => ({ projectInfos: [], fetchProjectInfos: async (): Promise<void> => { const containerStatusesPromise = new Promise<ContainerStatus[]>((resolve) => {
