Skip to content

Commit

Permalink
chore: automate bundling argocd addons during release process (argopr…
Browse files Browse the repository at this point in the history
…oj#8336)

Signed-off-by: Alexander Matyushentsev <[email protected]>
  • Loading branch information
Alexander Matyushentsev authored Feb 2, 2022
1 parent ee97b7d commit b009cdb
Show file tree
Hide file tree
Showing 9 changed files with 6,528 additions and 17 deletions.
40 changes: 26 additions & 14 deletions hack/update-manifests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,35 @@ if [ "$IMAGE_TAG" = "" ]; then
IMAGE_TAG=latest
fi

# bundle_with_addons bundles given kustomize base with either stable or latest version of addons
function bundle_with_addons() {
for addon in $(ls $SRCROOT/manifests/addons | grep -v README.md); do
ADDON_BASE="latest"
branch=$(git rev-parse --abbrev-ref HEAD)
if [[ $branch = release-* ]]; then
ADDON_BASE="stable"
fi
rm -rf $SRCROOT/manifests/_tmp-bundle && mkdir -p $SRCROOT/manifests/_tmp-bundle
cat << EOF >> $SRCROOT/manifests/_tmp-bundle/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../$1
- ../addons/$addon/$ADDON_BASE
EOF
echo "${AUTOGENMSG}" > $2
$KUSTOMIZE build $SRCROOT/manifests/_tmp-bundle >> $2
done
}

$KUSTOMIZE version

cd ${SRCROOT}/manifests/base && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG}
cd ${SRCROOT}/manifests/ha/base && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG}
cd ${SRCROOT}/manifests/core-install && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG}

echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/install.yaml"
$KUSTOMIZE build "${SRCROOT}/manifests/cluster-install" >> "${SRCROOT}/manifests/install.yaml"

echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/namespace-install.yaml"
$KUSTOMIZE build "${SRCROOT}/manifests/namespace-install" >> "${SRCROOT}/manifests/namespace-install.yaml"

echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/ha/install.yaml"
$KUSTOMIZE build "${SRCROOT}/manifests/ha/cluster-install" >> "${SRCROOT}/manifests/ha/install.yaml"

echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/ha/namespace-install.yaml"
$KUSTOMIZE build "${SRCROOT}/manifests/ha/namespace-install" >> "${SRCROOT}/manifests/ha/namespace-install.yaml"

echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/core-install.yaml"
$KUSTOMIZE build "${SRCROOT}/manifests/core-install" >> "${SRCROOT}/manifests/core-install.yaml"
bundle_with_addons "cluster-install" "${SRCROOT}/manifests/install.yaml"
bundle_with_addons "namespace-install" "${SRCROOT}/manifests/namespace-install.yaml"
bundle_with_addons "ha/cluster-install" "${SRCROOT}/manifests/ha/install.yaml"
bundle_with_addons "ha/namespace-install" "${SRCROOT}/manifests/ha/namespace-install.yaml"
bundle_with_addons "core-install" "${SRCROOT}/manifests/core-install.yaml"
1 change: 1 addition & 0 deletions manifests/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_tmp-bundle
5 changes: 5 additions & 0 deletions manifests/addons/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Addons

Directory contains Kustomize manifests of bundled Argo CD addons. Each directory must include the latest and stable versions
of the installation manifests in the directories named accordingly. The stable version should point to a particular git
tag and must be updated prior to each release.
4 changes: 4 additions & 0 deletions manifests/addons/applicationset/stable/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://raw.githubusercontent.com/argoproj/applicationset/v0.3.0/manifests/install.yaml
1 change: 0 additions & 1 deletion manifests/base/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ resources:
- ./dex
- ./repo-server
- ./server
- ./applicationset
- ./config
- ./redis
- ./notification
Loading

0 comments on commit b009cdb

Please sign in to comment.