Files
scwrypts/zsh/helm/zshparse.module.zsh
T
wrynegade 7f14edd039 v5.0.0
=====================================================================

Excited to bring V5 to life. This includes some BREAKING CHANGES to
several aspects of ZSH-type scwrypts. Please refer to the readme
for upgrade details (specifically docs/upgrade/v4-to-v5.md)

--- New Features -------------------------

- ZSH testing library with basic mock capabilities

- new scwrypts environment file format includes metadata and more
  advanced features like optional parent env overrides, selection
  inheritence, and improved structurual flexibility

- speedup cache for non-CI runs of ZSH-type scwrypts

- ${scwryptsmodule} syntax now allows a consistent unique-naming
  scheme for functions in ZSH-type scwrypts while providing better
  insight into origin of API calls in other modules

- reusable, case-statement-driven argument parsers in ZSH-type scwrypts

--- Changes ------------------------------

- several utility function renames in ZSH-type scwrypts to improve
  consistency

- documentation comments included in ZSH libraries

- ZSH-type scwrypts now allow library modules to live alongside
  executables
  (zsh/lib still supported; autodetection determines default)

--- Bug Fixes ----------------------------

- hardened environment checking for REQUIRED_ENV variables; this removes
  the ability to overwrite variables in local function contexts
2025-05-24 08:10:33 -06:00

55 lines
1.0 KiB
Bash

#####################################################################
use helm/validate
use scwrypts/get-realpath
#####################################################################
${scwryptsmodule}() {
local PARSED=0
case $1 in
( -t | --template-filename )
PARSED=2
TEMPLATE_FILENAME="$(scwrypts.get-realpath "$2")"
;;
esac
return ${PARSED}
}
${scwryptsmodule}.locals() {
local TEMPLATE_FILENAME
local ARGS=()
# configured by helm.validate
local CHART_NAME
local CHART_ROOT
local HELM_ARGS=()
}
${scwryptsmodule}.usage() {
USAGE__options+='
-t, --template-filename path to a template/*.yaml file of a helm chart
'
USAGE__args+='
\$@ additional args are forwarded to helm
'
}
${scwryptsmodule}.validate() {
helm.validate || return 1
HELM_ARGS+=(${ARGS[@]})
echo.debug "
template filename : ${TEMPLATE_FILENAME}
chart name : ${CHART_NAME}
chart root : ${CHART_ROOT}
helm args : ${HELM_ARGS[@]}
"
}
#####################################################################