Skip to content

Commit d72e900

Browse files
Restore all shell scripts to master-equivalent content
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
1 parent d2c359f commit d72e900

16 files changed

Lines changed: 415 additions & 88 deletions

scripts/library.sh

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,101 @@
11
#!/usr/bin/env bash
22
# Common functions for Kubeflow manifest synchronization scripts
3+
34
setup_error_handling() {
45
set -euxo pipefail
56
IFS=$'\n\t'
67
}
8+
79
# Check if the git repository has uncommitted changes
810
check_uncommitted_changes() {
911
if [ -n "$(git status --porcelain)" ]; then
1012
echo "WARNING: You have uncommitted changes"
1113
fi
1214
}
15+
1316
# Create a new git branch if it doesn't exist
1417
create_branch() {
1518
local branch="$1"
19+
1620
check_uncommitted_changes
21+
1722
if [ $(git branch --list "$branch") ]; then
1823
echo "WARNING: Branch $branch already exists."
1924
fi
25+
2026
if ! git show-ref --verify --quiet refs/heads/$branch; then
2127
git checkout -b "$branch"
2228
else
2329
echo "Branch $branch already exists."
2430
fi
2531
}
32+
2633
clone_and_checkout() {
2734
local source_directory="$1"
2835
local repository_url="$2"
2936
local repository_directory="$3"
3037
local commit="$4"
38+
39+
echo "Checking out in $source_directory to $commit..."
40+
3141
mkdir -p "$source_directory"
3242
cd "$source_directory"
43+
3344
# Clone repository if it doesn't exist
3445
if [ ! -d "$repository_directory/.git" ]; then
3546
git clone "$repository_url" "$repository_directory"
3647
fi
48+
3749
# Checkout to specific commit
3850
cd "$source_directory/$repository_directory"
3951
if ! git rev-parse --verify --quiet "$commit"; then
4052
git checkout -b "$commit"
4153
else
4254
git checkout "$commit"
4355
fi
56+
4457
check_uncommitted_changes
4558
}
59+
4660
# Copy manifests from source to destination
4761
copy_manifests() {
4862
local source="$1"
4963
local destination="$2"
64+
65+
echo "Copying manifests..."
66+
5067
if [ -d "$destination" ]; then
5168
rm -r "$destination"
5269
fi
70+
5371
cp "$source" "$destination" -r
72+
echo "Successfully copied all manifests."
5473
}
74+
5575
# Update README with new commit reference
5676
update_readme() {
5777
local manifests_directory="$1"
5878
local source_text="$2"
5979
local destination_text="$3"
80+
6081
if [[ "$OSTYPE" == "darwin"* ]]; then
6182
sed -i "" "s|$source_text|$destination_text|g" "${manifests_directory}/README.md" # BSD sed of Mac OSX
6283
else
6384
sed -i "s|$source_text|$destination_text|g" "${manifests_directory}/README.md" # GNU sed of Linux
6485
fi
6586
}
87+
6688
# Commit changes to git repository
6789
commit_changes() {
6890
local manifests_directory="$1"
6991
local commit_message="$2"
7092
local paths_to_add=("${@:3}")
93+
7194
cd "$manifests_directory"
95+
7296
for path in "${paths_to_add[@]}"; do
7397
git add "$path"
7498
done
99+
75100
git commit -s -m "$commit_message"
76-
}
101+
}
Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,37 @@
11
#!/usr/bin/env bash
22
# This script helps to create a PR to update cert-manager manifests.
3+
34
SCRIPT_DIRECTORY=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
45
source "${SCRIPT_DIRECTORY}/library.sh"
6+
57
setup_error_handling
8+
69
COMPONENT_NAME="cert-manager"
7-
REPOSITORY_NAME="cert-manager/cert-manager"
8-
COMMIT="v1.19.4"
9-
BRANCH_NAME=${BRANCH_NAME:=synchronize-${COMPONENT_NAME}-manifests-${COMMIT?}}
10+
CERT_MANAGER_RELEASE="v1.19.4" # Must be a release tag in cert-manager/cert-manager
11+
BRANCH_NAME=${BRANCH_NAME:=synchronize-${COMPONENT_NAME}-manifests-${CERT_MANAGER_RELEASE?}}
12+
1013
MANIFESTS_DIRECTORY=$(dirname $SCRIPT_DIRECTORY)
1114
DESTINATION_DIRECTORY=$MANIFESTS_DIRECTORY/common/${COMPONENT_NAME}
1215
DESTINATION_FILE="$DESTINATION_DIRECTORY/base/upstream/cert-manager.yaml"
16+
1317
create_branch "$BRANCH_NAME"
18+
check_uncommitted_changes
19+
20+
echo "Downloading cert-manager manifest ${CERT_MANAGER_RELEASE}..."
1421
wget -O "$DESTINATION_FILE" \
15-
"https://github.com/${REPOSITORY_NAME}/releases/download/${COMMIT}/cert-manager.yaml"
16-
SOURCE_TEXT="\[.*\](https://github.com/${REPOSITORY_NAME}/releases/tag/v.*)"
17-
DESTINATION_TEXT="\[${COMMIT#v}\](https://github.com/${REPOSITORY_NAME}/releases/tag/${COMMIT})"
18-
update_readme "$MANIFESTS_DIRECTORY" "$SOURCE_TEXT" "$DESTINATION_TEXT"
19-
commit_changes "$MANIFESTS_DIRECTORY" "Update ${REPOSITORY_NAME} manifests from ${COMMIT}" "$MANIFESTS_DIRECTORY"
22+
"https://github.com/cert-manager/cert-manager/releases/download/${CERT_MANAGER_RELEASE}/cert-manager.yaml"
23+
24+
# Update top-level component version table.
25+
if [[ "$OSTYPE" == "darwin"* ]]; then
26+
sed -i "" '/| Cert Manager | common\/cert-manager |/s|\[.*\](https://github.com/cert-manager/cert-manager/releases/tag/v.*)|['"${CERT_MANAGER_RELEASE#v}"'](https://github.com/cert-manager/cert-manager/releases/tag/'"${CERT_MANAGER_RELEASE}"')|' \
27+
"${MANIFESTS_DIRECTORY}/README.md"
28+
else
29+
sed -i '/| Cert Manager | common\/cert-manager |/s|\[.*\](https://github.com/cert-manager/cert-manager/releases/tag/v.*)|['"${CERT_MANAGER_RELEASE#v}"'](https://github.com/cert-manager/cert-manager/releases/tag/'"${CERT_MANAGER_RELEASE}"')|' \
30+
"${MANIFESTS_DIRECTORY}/README.md"
31+
fi
32+
33+
commit_changes "$MANIFESTS_DIRECTORY" "Update common/cert-manager manifests to ${CERT_MANAGER_RELEASE}" \
34+
"$DESTINATION_DIRECTORY" \
35+
"README.md"
36+
2037
echo "Synchronization completed successfully."
Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,42 @@
11
#!/usr/bin/env bash
22
# This script helps to create a PR to update the Dex manifests
3+
34
SCRIPT_DIRECTORY=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
45
source "${SCRIPT_DIRECTORY}/library.sh"
6+
57
setup_error_handling
8+
69
COMPONENT_NAME="dex"
7-
REPOSITORY_NAME="dexidp/dex"
8-
COMMIT="v2.43.1"
9-
BRANCH_NAME=${BRANCH_NAME:=synchronize-${COMPONENT_NAME}-manifests-${COMMIT?}}
10+
DEX_RELEASE="v2.43.1" # Must be a release
11+
BRANCH_NAME=${BRANCH_NAME:=synchronize-${COMPONENT_NAME}-manifests-${DEX_RELEASE?}}
12+
1013
MANIFESTS_DIRECTORY=$(dirname $SCRIPT_DIRECTORY)
1114
DESTINATION_DIRECTORY=$MANIFESTS_DIRECTORY/common/${COMPONENT_NAME}
15+
1216
create_branch "$BRANCH_NAME"
17+
18+
check_uncommitted_changes
19+
20+
echo "Updating Dex image tag to ${DEX_RELEASE}..."
21+
1322
if [[ "$OSTYPE" == "darwin"* ]]; then
14-
sed -i "" "s|ghcr.io/dexidp/dex:v[0-9.]*|ghcr.io/dexidp/dex:${COMMIT}|g" \
23+
sed -i "" "s|ghcr.io/dexidp/dex:v[0-9.]*|ghcr.io/dexidp/dex:${DEX_RELEASE}|g" \
1524
$DESTINATION_DIRECTORY/base/deployment.yaml
1625
else
17-
sed -i "s|ghcr.io/dexidp/dex:v[0-9.]*|ghcr.io/dexidp/dex:${COMMIT}|g" \
26+
sed -i "s|ghcr.io/dexidp/dex:v[0-9.]*|ghcr.io/dexidp/dex:${DEX_RELEASE}|g" \
1827
$DESTINATION_DIRECTORY/base/deployment.yaml
1928
fi
20-
SOURCE_TEXT="\[.*\](https://github.com/${REPOSITORY_NAME}/releases/tag/v.*)"
21-
DESTINATION_TEXT="\[${COMMIT#v}\](https://github.com/${REPOSITORY_NAME}/releases/tag/${COMMIT})"
22-
update_readme "$MANIFESTS_DIRECTORY" "$SOURCE_TEXT" "$DESTINATION_TEXT"
23-
commit_changes "$MANIFESTS_DIRECTORY" "Update ${REPOSITORY_NAME} manifests from ${COMMIT}" "$MANIFESTS_DIRECTORY"
24-
echo "Synchronization completed successfully."
29+
30+
if [[ "$OSTYPE" == "darwin"* ]]; then
31+
sed -i "" '/| Dex | common\/dex |/s|\[.*\](https://github.com/dexidp/dex/releases/tag/v.*)|['"${DEX_RELEASE#v}"'](https://github.com/dexidp/dex/releases/tag/'"${DEX_RELEASE}"')|' \
32+
${MANIFESTS_DIRECTORY}/README.md
33+
else
34+
sed -i '/| Dex | common\/dex |/s|\[.*\](https://github.com/dexidp/dex/releases/tag/v.*)|['"${DEX_RELEASE#v}"'](https://github.com/dexidp/dex/releases/tag/'"${DEX_RELEASE}"')|' \
35+
${MANIFESTS_DIRECTORY}/README.md
36+
fi
37+
38+
commit_changes "$MANIFESTS_DIRECTORY" "Update common/dex manifests to ${DEX_RELEASE}" \
39+
"$DESTINATION_DIRECTORY" \
40+
"README.md"
41+
42+
echo "Synchronization completed successfully."
Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,34 @@
11
#!/usr/bin/env bash
22
# This script helps to create a PR to update the unified Istio manifests
3+
34
SCRIPT_DIRECTORY=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
45
source "${SCRIPT_DIRECTORY}/library.sh"
6+
57
setup_error_handling
8+
69
COMPONENT_NAME="istio"
7-
REPOSITORY_NAME="istio/istio"
8-
COMMIT="1.29.0"
9-
SOURCE_DIRECTORY=${SOURCE_DIRECTORY:=/tmp/kubeflow-${COMPONENT_NAME}}
10-
BRANCH_NAME=${BRANCH_NAME:=synchronize-${COMPONENT_NAME}-manifests-${COMMIT?}}
10+
COMMIT="1.29.0" # Update this for new versions
11+
SOURCE_DIRECTORY=${SOURCE_DIRECTORY:=/tmp/${COMPONENT_NAME}}
12+
BRANCH_NAME=${BRANCH_NAME:=${COMPONENT_NAME}-${COMMIT?}}
13+
14+
# Path configurations
1115
MANIFESTS_DIRECTORY=$(dirname $SCRIPT_DIRECTORY)
1216
ISTIO_DIRECTORY=$MANIFESTS_DIRECTORY/common/${COMPONENT_NAME}
17+
1318
create_branch "$BRANCH_NAME"
14-
mkdir -p "$SOURCE_DIRECTORY"
15-
cd "$SOURCE_DIRECTORY"
19+
20+
echo "Checking out in $SOURCE_DIRECTORY to $COMMIT..."
21+
mkdir -p $SOURCE_DIRECTORY
22+
cd $SOURCE_DIRECTORY
1623
if [ ! -d "istio-${COMMIT}" ]; then
17-
wget "https://github.com/${REPOSITORY_NAME}/releases/download/${COMMIT}/istio-${COMMIT}-linux-amd64.tar.gz"
24+
wget "https://github.com/istio/istio/releases/download/${COMMIT}/istio-${COMMIT}-linux-amd64.tar.gz"
1825
tar xvfz istio-${COMMIT}-linux-amd64.tar.gz
1926
fi
20-
ISTIOCTL="${SOURCE_DIRECTORY}/istio-${COMMIT}/bin/istioctl"
21-
cd "$ISTIO_DIRECTORY"
27+
28+
ISTIOCTL=$SOURCE_DIRECTORY/istio-${COMMIT}/bin/istioctl
29+
cd $ISTIO_DIRECTORY
30+
31+
echo "Generating CNI manifests (default)..."
2232
$ISTIOCTL manifest generate -f profile.yaml -f profile-overlay.yaml \
2333
--set components.cni.enabled=true \
2434
--set components.cni.namespace=kube-system > dump.yaml
@@ -27,15 +37,25 @@ mv $ISTIO_DIRECTORY/crd.yaml $ISTIO_DIRECTORY/istio-crds/base/
2737
mv $ISTIO_DIRECTORY/install.yaml $ISTIO_DIRECTORY/istio-install/base/
2838
mv $ISTIO_DIRECTORY/cluster-local-gateway.yaml $ISTIO_DIRECTORY/cluster-local-gateway/base/
2939
rm dump.yaml
40+
41+
echo "Generating ztunnel manifests (ambient mode)..."
3042
$ISTIOCTL manifest generate -f profile.yaml -f profile-overlay.yaml \
3143
--set components.cni.enabled=true \
3244
--set components.ztunnel.enabled=true > dump-ztunnel.yaml
3345
./split-istio-packages -f dump-ztunnel.yaml
3446
mv $ISTIO_DIRECTORY/ztunnel.yaml $ISTIO_DIRECTORY/istio-install/components/ambient-mode/
3547
rm dump-ztunnel.yaml crd.yaml install.yaml cluster-local-gateway.yaml
36-
sed -i "s/\"tag\": \".*\"/\"tag\": \"$COMMIT\"/" "$ISTIO_DIRECTORY/istio-install/base/patches/istio-sidecar-injector-patch.yaml"
37-
SOURCE_TEXT="\[.*\](https://github.com/${REPOSITORY_NAME}/releases/tag/.*)"
38-
DESTINATION_TEXT="\[$COMMIT\](https://github.com/${REPOSITORY_NAME}/releases/tag/$COMMIT)"
48+
49+
check_uncommitted_changes
50+
51+
echo "Updating tag in istio-sidecar-injector-patch.yaml..."
52+
sed -i "s/\"tag\": \".*\"/\"tag\": \"$COMMIT\"/" $ISTIO_DIRECTORY/istio-install/base/patches/istio-sidecar-injector-patch.yaml
53+
54+
SOURCE_TEXT="\[.*\](https://github.com/istio/istio/releases/tag/.*)"
55+
DESTINATION_TEXT="\[$COMMIT\](https://github.com/istio/istio/releases/tag/$COMMIT)"
56+
3957
update_readme "$MANIFESTS_DIRECTORY" "$SOURCE_TEXT" "$DESTINATION_TEXT"
40-
commit_changes "$MANIFESTS_DIRECTORY" "Update ${REPOSITORY_NAME} manifests from ${COMMIT}" "$MANIFESTS_DIRECTORY"
58+
59+
commit_changes "$MANIFESTS_DIRECTORY" "Upgrade istio to v.${COMMIT}" "."
60+
4161
echo "Synchronization completed successfully."
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,38 @@
11
#!/usr/bin/env bash
22
# This script helps to create a PR to update the Katib manifests
3+
34
SCRIPT_DIRECTORY=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
45
source "${SCRIPT_DIRECTORY}/library.sh"
6+
57
setup_error_handling
8+
69
COMPONENT_NAME="katib"
710
REPOSITORY_NAME="kubeflow/katib"
811
REPOSITORY_URL="https://github.com/kubeflow/katib.git"
912
COMMIT="v0.19.0"
1013
REPOSITORY_DIRECTORY="katib"
1114
SOURCE_DIRECTORY=${SOURCE_DIRECTORY:=/tmp/kubeflow-${COMPONENT_NAME}}
1215
BRANCH_NAME=${BRANCH_NAME:=synchronize-${COMPONENT_NAME}-manifests-${COMMIT?}}
16+
17+
# Path configurations
1318
MANIFESTS_DIRECTORY=$(dirname $SCRIPT_DIRECTORY)
1419
SOURCE_MANIFESTS_PATH="manifests/v1beta1"
1520
DESTINATION_MANIFESTS_PATH="applications/${COMPONENT_NAME}/upstream"
21+
22+
# README update patterns
1623
SOURCE_TEXT="\[.*\](https://github.com/${REPOSITORY_NAME}/tree/.*/manifests/v1beta1)"
1724
DESTINATION_TEXT="\[${COMMIT}\](https://github.com/${REPOSITORY_NAME}/tree/${COMMIT}/manifests/v1beta1)"
25+
1826
create_branch "$BRANCH_NAME"
27+
1928
clone_and_checkout "$SOURCE_DIRECTORY" "$REPOSITORY_URL" "$REPOSITORY_DIRECTORY" "$COMMIT"
29+
2030
copy_manifests "${SOURCE_DIRECTORY}/${REPOSITORY_DIRECTORY}/${SOURCE_MANIFESTS_PATH}" "${MANIFESTS_DIRECTORY}/${DESTINATION_MANIFESTS_PATH}"
31+
2132
update_readme "$MANIFESTS_DIRECTORY" "$SOURCE_TEXT" "$DESTINATION_TEXT"
22-
commit_changes "$MANIFESTS_DIRECTORY" "Update ${REPOSITORY_NAME} manifests from ${COMMIT}" "$MANIFESTS_DIRECTORY"
33+
34+
commit_changes "$MANIFESTS_DIRECTORY" "Update ${REPOSITORY_NAME} manifests from ${COMMIT}" \
35+
"applications" \
36+
"README.md"
37+
2338
echo "Synchronization completed successfully."

0 commit comments

Comments
 (0)