mirror of https://github.com/openkruise/kruise.git
48 lines
1.2 KiB
Bash
Executable File
48 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check if yq command is installed, otherwise install it
|
|
if ! command -v yq &> /dev/null; then
|
|
echo "yq command not found. You need install yq first."
|
|
exit 0
|
|
fi
|
|
|
|
rm -rf bin/templates
|
|
mkdir bin/templates
|
|
|
|
# Get the current directory
|
|
current_dir=$(pwd)
|
|
echo $current_dir
|
|
# Create a temporary directory
|
|
temp_dir=$(mktemp -d)
|
|
echo $temp_dir
|
|
|
|
kustomize build config/crd > $temp_dir/crds.yaml
|
|
cd $temp_dir
|
|
awk 'BEGIN {RS="\n---\n"} {print > ("output-" NR ".yaml")}' crds.yaml
|
|
rm -f crds.yaml
|
|
|
|
# Process each file in the directory
|
|
for file in *; do
|
|
# Parse the YAML file and extract the value of the desired fields
|
|
group=$(yq eval '.spec.group' $file)
|
|
plural=$(yq eval '.spec.names.plural' $file)
|
|
|
|
# Remove leading and trailing whitespace from the field values
|
|
group=$(echo $group | sed -e 's/^ *//' -e 's/ *$//')
|
|
plural=$(echo $plural | sed -e 's/^ *//' -e 's/ *$//')
|
|
|
|
sed -i '.bak' '1i\
|
|
{{- if .Values.crds.managed }}\
|
|
\
|
|
---
|
|
' $file
|
|
rm -f $file.bak
|
|
echo "{{- end }}" >> $file
|
|
# Rename the file using the extracted field values
|
|
mv $file "$current_dir/bin/templates/${group}_${plural}.yaml"
|
|
done
|
|
|
|
# Clean up the temporary directory
|
|
cd ..
|
|
rm -rf $temp_dir
|