fix(deploy): skip VMAgent preflight before CRD install
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 11s
ci / lint-actionlint (push) Successful in 5s
ci / lint-shellcheck (push) Successful in 10s
ci / lint-prettier (push) Successful in 15s
ci / lint-ruff (push) Successful in 8s
ci / lint-yaml (push) Successful in 10s
ci / lint-dockerfiles (push) Successful in 7s
ci / validate (push) Successful in 10s
ci / build (push) Successful in 25s
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 11s
ci / lint-actionlint (push) Successful in 5s
ci / lint-shellcheck (push) Successful in 10s
ci / lint-prettier (push) Successful in 15s
ci / lint-ruff (push) Successful in 8s
ci / lint-yaml (push) Successful in 10s
ci / lint-dockerfiles (push) Successful in 7s
ci / validate (push) Successful in 10s
ci / build (push) Successful in 25s
This commit is contained in:
1 parent
6057734a4f
commit
3f2b4e9acf
2 files changed
+32
No files matched your search
@@ -73,6 +73,20 @@ fi
|
|||||||
grep -q 'MISSING OR UNREADABLE: app/credentials' "$scratch/secrets.log"
|
grep -q 'MISSING OR UNREADABLE: app/credentials' "$scratch/secrets.log"
|
||||||
# API/rendering errors must not produce an empty reference list and pass.
|
# API/rendering errors must not produce an empty reference list and pass.
|
||||||
kubectl() { return 1; }
|
kubectl() { return 1; }
|
||||||
|
if ! skip_uninstalled_vmagent_crd "$REPO/prometheus-stack/k8s/vmagent.yaml"; then
|
||||||
|
echo 'VMAgent preflight did not skip an uninstalled CRD' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
kubectl() { return 0; }
|
||||||
|
if skip_uninstalled_vmagent_crd "$REPO/prometheus-stack/k8s/vmagent.yaml"; then
|
||||||
|
echo 'VMAgent preflight skipped an installed CRD' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if skip_uninstalled_vmagent_crd "$REPO/prometheus-stack/k8s/victoria.yaml"; then
|
||||||
|
echo 'VMAgent preflight skipped an unrelated manifest' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
kubectl() { return 1; }
|
||||||
if check_referenced_secrets >"$scratch/secrets.log"; then
|
if check_referenced_secrets >"$scratch/secrets.log"; then
|
||||||
echo 'Secret check accepted a failed manifest render' >&2
|
echo 'Secret check accepted a failed manifest render' >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -731,6 +731,18 @@ check_referenced_secrets() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# The VMAgent CRD is installed by the VictoriaMetrics Operator Helm release in
|
||||||
|
# stage_apply_k8s, after this preflight stage. Skip only its dry-run until then.
|
||||||
|
skip_uninstalled_vmagent_crd() {
|
||||||
|
local manifest="$1"
|
||||||
|
if [[ "$manifest" == "$REPO/prometheus-stack/k8s/vmagent.yaml" ]] \
|
||||||
|
&& ! kubectl get crd vmagents.operator.victoriametrics.com >/dev/null 2>&1; then
|
||||||
|
echo " skip: VMAgent CRD is installed by Helm during apply: ${manifest#"$REPO"/}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
stage_validate() {
|
stage_validate() {
|
||||||
check_prune_mode || return 1
|
check_prune_mode || return 1
|
||||||
cd "$REPO"
|
cd "$REPO"
|
||||||
@@ -748,6 +760,9 @@ stage_validate() {
|
|||||||
done
|
done
|
||||||
log "Validate k8s manifests (kubectl dry-run=client)"
|
log "Validate k8s manifests (kubectl dry-run=client)"
|
||||||
for m in ${K8S_MANIFESTS[@]+"${K8S_MANIFESTS[@]}"}; do
|
for m in ${K8S_MANIFESTS[@]+"${K8S_MANIFESTS[@]}"}; do
|
||||||
|
if skip_uninstalled_vmagent_crd "$m"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
kubectl apply --dry-run=client -f "$m" >/dev/null
|
kubectl apply --dry-run=client -f "$m" >/dev/null
|
||||||
done
|
done
|
||||||
for k in ${KUSTOMIZE_APPS[@]+"${KUSTOMIZE_APPS[@]}"}; do
|
for k in ${KUSTOMIZE_APPS[@]+"${KUSTOMIZE_APPS[@]}"}; do
|
||||||
@@ -755,6 +770,9 @@ stage_validate() {
|
|||||||
done
|
done
|
||||||
log "Validate k8s manifests (kubectl dry-run=server)"
|
log "Validate k8s manifests (kubectl dry-run=server)"
|
||||||
for m in ${K8S_MANIFESTS[@]+"${K8S_MANIFESTS[@]}"}; do
|
for m in ${K8S_MANIFESTS[@]+"${K8S_MANIFESTS[@]}"}; do
|
||||||
|
if skip_uninstalled_vmagent_crd "$m"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
kubectl apply --dry-run=server -f "$m" >/dev/null
|
kubectl apply --dry-run=server -f "$m" >/dev/null
|
||||||
done
|
done
|
||||||
for k in ${KUSTOMIZE_APPS[@]+"${KUSTOMIZE_APPS[@]}"}; do
|
for k in ${KUSTOMIZE_APPS[@]+"${KUSTOMIZE_APPS[@]}"}; do
|
||||||
|
|||||||
Reference in new issue
Block a user