mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 18:18:41 +00:00
[installer] Even more rigorous migration
Due to a deficiency of cozypkg (--with-source reconciles the HelmChart, but not the HelmRepository), we have to use workarounds to bulletproof the latest migration, by applying directly from the assets server. ```release-note [installer] Run 20th migration using helm charts directly from the assets server instead of relying on cozypkg to reconcile its resources properly. ``` Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
This commit is contained in:
@@ -3,15 +3,35 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
kubectl delete ingresses.networking.k8s.io --all -n cozy-dashboard --ignore-not-found
|
||||
kubectl delete crd cozystackresourcedefinitions.cozystack.io --ignore-not-found
|
||||
kubectl -n cozy-system delete helmrelease cozystack-api \
|
||||
|| kubectl -n cozy-system delete deployment cozystack-api --ignore-not-found # fallback to help migration progress if it failed first time
|
||||
while [ $( kubectl -n cozy-system get po -l app=cozystack-api --no-headers | wc -l ) != 0 ] ;
|
||||
do
|
||||
echo "Waiting for Cozystack API pods to be deleted";
|
||||
sleep 1
|
||||
done
|
||||
|
||||
kubectl -n cozy-system delete helmrelease cozystack-controller \
|
||||
|| kubectl -n cozy-system delete deployment cozystack-controller --ignore-not-found # same fallback
|
||||
kubectl delete customresourcedefinitions.apiextensions.k8s.io cozystackresourcedefinitions.cozystack.io --ignore-not-found
|
||||
while [ $( kubectl -n cozy-system get po -l app=cozystack-controller --no-headers | wc -l ) != 0 ] ;
|
||||
do
|
||||
echo "Waiting for Cozystack controller pods to be deleted";
|
||||
sleep 1
|
||||
done
|
||||
|
||||
kubectl delete helmrelease -n cozy-dashboard dashboard --ignore-not-found
|
||||
sleep 5
|
||||
cozypkg -n cozy-system -C packages/system/cozystack-resource-definition-crd apply cozystack-resource-definition-crd --plain
|
||||
cozypkg -n cozy-system -C packages/system/cozystack-resource-definitions apply cozystack-resource-definitions --plain
|
||||
cozypkg -n cozy-system -C packages/system/cozystack-api apply cozystack-api --plain
|
||||
helm upgrade --install -n cozy-system cozystack-controller ./packages/system/cozystack-controller/ --take-ownership
|
||||
|
||||
sleep 5
|
||||
kubectl wait deployment/cozystack-api -n cozy-system --timeout=4m --for=condition=available || exit 1
|
||||
kubectl wait deployment/cozystack-controller -n cozy-system --timeout=4m --for=condition=available || exit 1
|
||||
|
||||
timestamp=$(date --rfc-3339=ns || date)
|
||||
# Make sure webhook is upgraded first, then run migration
|
||||
cozypkg -C packages/system/cozystack-controller -n cozy-system reconcile cozystack-controller --force --with-source
|
||||
kubectl wait hr/cozystack-controller -n cozy-system --timeout=4m --for=condition=ready || exit 1
|
||||
cozypkg -C packages/system/cozystack-api -n cozy-system reconcile cozystack-api --force --with-source
|
||||
kubectl wait hr/cozystack-api -n cozy-system --timeout=4m --for=condition=ready || exit 1
|
||||
kubectl get namespace -o custom-columns=NAME:.metadata.name --no-headers |
|
||||
grep '^tenant-' |
|
||||
while read namespace ; do
|
||||
|
||||
Reference in New Issue
Block a user