12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/bin/bash
- VERSION="v4.31.1"
- BINARY="yq_linux_amd64"
- YQ_PATH="$(pwd)/yq"
- BASE_PATH="library/ix-dev"
- if [[ ! -f "$YQ_PATH" ]]; then
- echo "Downloading yq..."
- wget -q "https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}" -O "$YQ_PATH" && \
- chmod +x "$YQ_PATH"
- echo "Done"
- fi
- function check_args(){
- local arg=$1
- if [[ -z "$arg" ]]; then
- echo "Error: $2 not specified"
- exit 1
- fi
- }
- function copy_app() {
- local train=$1
- local app=$2
- # Check arguments have values
- check_args "$train"
- check_args "$app"
- # Grab version from Chart.yaml
- version=$("$YQ_PATH" '.version' "$BASE_PATH/$train/$app/Chart.yaml")
- check_args "$version"
- # Make sure directories exist
- mkdir -p "$train/$app/$version"
- helm dependency update "$BASE_PATH/$train/$app"
- # Copy files over
- rsync --archive --delete "$BASE_PATH/$train/$app/" "$train/$app/$version"
- # Rename values.yaml to ix_values.yaml
- mv "$train/$app/$version/values.yaml" "$train/$app/$version/ix_values.yaml"
- # Remove CI directory from the versioned app
- rm -r "$train/$app/$version/ci"
- # Grab icon and categories from Chart.yaml
- icon=$("$YQ_PATH" '.icon' "$BASE_PATH/$train/$app/Chart.yaml")
- check_args "$icon"
- categories=$("$YQ_PATH" '.keywords' "$BASE_PATH/$train/$app/Chart.yaml")
- check_args "$categories"
- # Create item.yaml
- echo "" > "$train/$app/item.yaml"
- ICON="$icon" "$YQ_PATH" '.icon_url = env(ICON)' --inplace "$train/$app/item.yaml"
- CATEGORIES="$categories" "$YQ_PATH" '.categories = env(CATEGORIES)' --inplace "$train/$app/item.yaml"
- }
- # TODO: Call this function for each changed app
- copy_app "$1" "$2"
|