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 <francesco.lapenta@est.tech>
:: you may not use this file except in compliance with the License.
:: You may obtain a copy of the License at
::
:: 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,
::
:: Unless required by applicable law or agreed to in writing, software
:: distributed under the License is distributed on an "AS IS" BASIS,
+setlocal enabledelayedexpansion
if [%1]==[] goto usage
SET DIRECTORY=%1
if %DIRECTORY:~-1%==\ (
SET DIRECTORY=%DIRECTORY:~0,-1%
)
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=
+
- 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%
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 (
popd
rename %ZIPFILE% %CSARFILE%
@echo rApp package %CSARFILE% generated.
) else (
- @echo Directory %DIRECTORY% doesn't exists.
+ @echo Directory %DIRECTORY% doesn't exist.
+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"
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
if [ -d "$DIRECTORY" ]; then
- rm $PACKAGENAME 2> /dev/null
+ checkHelmPackage
+ rm -f $PACKAGENAME 2> /dev/null
- zip -r ../$PACKAGENAME *
+ zip -r ../$PACKAGENAME * $(printf " -x %s" "${EXCLUDE_DIRS[@]}")
popd
echo -e "rApp package $PACKAGENAME generated."
else
popd
echo -e "rApp package $PACKAGENAME generated."
else
- echo "Directory $DIRECTORY doesn't exists."
+ echo "Directory $DIRECTORY doesn't exist."