argo-cd/hack/update_static_schema.sh
Michael Crenshaw fa0e8d60a3
chore: update static scheme (#588)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-06-28 11:55:02 -04:00

18 lines
1,019 B
Bash
Executable file

#!/usr/bin/env bash
set -euox pipefail
# Get the k8s library version from go.mod, stripping the trailing newline
k8s_lib_version=$(grep "k8s.io/client-go" go.mod | awk '{print $2}' | head -n 1 | tr -d '\n')
# Download the parser file from the k8s library
curl -sL "https://raw.githubusercontent.com/kubernetes/client-go/$k8s_lib_version/applyconfigurations/internal/internal.go" -o pkg/utils/kube/scheme/parser.go
# Add a line to the beginning of the file saying that this is the script that generated it.
sed -i '' '1s/^/\/\/ Code generated by hack\/update_static_schema.sh; DO NOT EDIT.\n\/\/ Everything below is downloaded from applyconfigurations\/internal\/internal.go in kubernetes\/client-go.\n\n/' pkg/utils/kube/scheme/parser.go
# Replace "package internal" with "package scheme" in the parser file
sed -i '' 's/package internal/package scheme/' pkg/utils/kube/scheme/parser.go
# Replace "func Parser" with "func StaticParser"
sed -i '' 's/func Parser/func StaticParser/' pkg/utils/kube/scheme/parser.go