From 6e78aef68033f0f63b3231850823d9d4d6d2a676 Mon Sep 17 00:00:00 2001 From: lapentafd Date: Fri, 17 May 2024 12:09:44 +0100 Subject: [PATCH] Sample rApp packaging script modification for helm chart Added the possibility to have plain Helm charts. The script will check the Helm artifacts directory and try to package the subdirectories in order to get .tgz packaged helm charts. Issue-ID: NONRTRIC-986 Change-Id: I5df9a780e535208d4c910e3e0ba32dde5f9068e0 Signed-off-by: lapentafd --- sample-rapp-generator/generate.bat | 30 +++++++++++++++++++++++++----- sample-rapp-generator/generate.sh | 30 +++++++++++++++++++++++++++--- 2 files changed, 52 insertions(+), 8 deletions(-) diff --git a/sample-rapp-generator/generate.bat b/sample-rapp-generator/generate.bat index ccf3049..b9047a9 100755 --- a/sample-rapp-generator/generate.bat +++ b/sample-rapp-generator/generate.bat @@ -6,7 +6,7 @@ :: 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 +:: 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, @@ -17,23 +17,43 @@ :: @echo off +setlocal enabledelayedexpansion if [%1]==[] goto usage SET DIRECTORY=%1 if %DIRECTORY:~-1%==\ ( SET DIRECTORY=%DIRECTORY:~0,-1% ) + +SET HELM_DIR=%DIRECTORY%/Artifacts/Deployment/HELM +SET CSARFILE=%DIRECTORY%.csar +SET ZIPFILE=%DIRECTORY%.zip +SET EXCLUDE_DIRS= + if exist %DIRECTORY% ( - SET CSARFILE=%DIRECTORY%.csar - SET ZIPFILE=%DIRECTORY%.zip + if exist "%HELM_DIR%" ( + echo Helm directory exists: %HELM_DIR% + for /d %%D in ("%HELM_DIR%\*") do ( + if exist "%%D" ( + echo Checking directory: %%D + echo Packaging Helm chart in directory: %%~nxD + helm package %%D -d %HELM_DIR% + SET EXCLUDE_DIRS=!EXCLUDE_DIRS!--exclude=Artifacts/Deployment/HELM/%%~nxD/* + echo Excluding directory: %HELM_DIR%\%%~nxD + ) + ) + ) else ( + echo Helm directory %HELM_DIR% doesn't exist. + ) + del %CSARFILE% 2>nul pushd %DIRECTORY% - tar -a -cf ..\%ZIPFILE% * + tar !EXCLUDE_DIRS! -a -cf ..\%ZIPFILE% * popd rename %ZIPFILE% %CSARFILE% @echo rApp package %CSARFILE% generated. ) else ( - @echo Directory %DIRECTORY% doesn't exists. + @echo Directory %DIRECTORY% doesn't exist. ) goto :eof diff --git a/sample-rapp-generator/generate.sh b/sample-rapp-generator/generate.sh index d606186..b7118a0 100755 --- a/sample-rapp-generator/generate.sh +++ b/sample-rapp-generator/generate.sh @@ -28,15 +28,39 @@ if ! command -v zip &> /dev/null; then exit 1 fi +if ! command -v helm &> /dev/null; then + echo "Helm command not found. Please install helm to proceed." + exit 1 +fi + DIRECTORY=${1%/} PACKAGENAME="$DIRECTORY.csar" +HELM_DIR="$DIRECTORY/Artifacts/Deployment/HELM" +EXCLUDE_DIRS=() + +checkHelmPackage() { + if [ -d "$HELM_DIR" ]; then + for dir in "$HELM_DIR"/*/ ; do + if [ -d "$dir" ]; then + HELM_PACKAGE_NAME=$(basename "$dir") + pushd "$HELM_DIR" + helm package "$HELM_PACKAGE_NAME" + popd + EXCLUDE_DIRS+=("*/$HELM_PACKAGE_NAME/*") + fi + done + else + echo "Helm directory $HELM_DIR doesn't exist." + fi +} if [ -d "$DIRECTORY" ]; then - rm $PACKAGENAME 2> /dev/null + checkHelmPackage + rm -f $PACKAGENAME 2> /dev/null pushd $DIRECTORY - zip -r ../$PACKAGENAME * + zip -r ../$PACKAGENAME * $(printf " -x %s" "${EXCLUDE_DIRS[@]}") popd echo -e "rApp package $PACKAGENAME generated." else - echo "Directory $DIRECTORY doesn't exists." + echo "Directory $DIRECTORY doesn't exist." fi -- 2.16.6