Skip to content

Commit

Permalink
[ADD] Add cmctl command for check cert-manager is ready
Browse files Browse the repository at this point in the history
Signed-off-by: poyaz <pooya_azarpour@yahoo.com>
  • Loading branch information
poyaz committed Apr 10, 2024
1 parent 0acef98 commit dc9f803
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 1 deletion.
4 changes: 4 additions & 0 deletions e2e/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ kind-load-image: kind-setup docker-build ## Load the e2e container image onto e2
.PHONY: e2e-setup
e2e-setup: export KUBECONFIG = $(KIND_KUBECONFIG)
e2e-setup: chart-prepare
e2e-setup: e2e-cmctl
e2e-setup: e2e/node_modules kind-setup | $(e2etest_dir) ## Run the e2e setup

.PHONY: clean
Expand All @@ -42,3 +43,6 @@ $(e2etest_dir):

e2e/node_modules:
@npm --prefix ./e2e install

e2e-cmctl:
@command -v cmctl > /dev/null || $(GO_EXEC) install github.com/cert-manager/cmctl/v2@latest
29 changes: 28 additions & 1 deletion e2e/lib/k8up.bash
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ give_self_signed_issuer() {
ns=${NAMESPACE=${DETIK_CLIENT_NAMESPACE}}

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.yaml

cmctl check api --wait=120s
kubectl wait -n cert-manager --for=condition=Available deployment/cert-manager-webhook --timeout=120s
yq $(yq --help | grep -q eval && echo e) '.metadata.namespace='\"${MINIO_NAMESPACE}\"'' definitions/cert/issure.yaml | kubectl apply -f -
yq $(yq --help | grep -q eval && echo e) '.metadata.namespace='\"${MINIO_NAMESPACE}\"'' definitions/cert/minio-ca.yaml | kubectl apply -f -
Expand Down Expand Up @@ -301,6 +301,33 @@ given_an_existing_backup() {
echo "✅ An existing backup is ready"
}

given_an_existing_mtls_backup() {
require_args 2 ${#}

local backup_file_name backup_file_content
backup_file_name=${1}
backup_file_content=${2}
given_a_subject "${backup_file_name}" "${backup_file_content}"

kubectl apply -f definitions/secrets
yq e '.spec.podSecurityContext.fsGroup='$(id -u)' | .spec.podSecurityContext.runAsUser='$(id -u)'' definitions/backup/backup-mtls.yaml | kubectl apply -f -

wait_until backup/k8up-backup-mtls completed
verify "'.status.conditions[?(@.type==\"Completed\")].reason' is 'Succeeded' for Backup named 'k8up-backup-mtls'"

for i in {1..3}; do
run restic dump latest "/data/subject-pvc/${backup_file_name}"
if [ ! -z "${output}" ]; then
break
fi
done

# shellcheck disable=SC2154
[ "${backup_file_content}" = "${output}" ]

echo "✅ An existing backup is ready"
}

verify_object_value_by_label() {
require_args 5 ${#}

Expand Down

0 comments on commit dc9f803

Please sign in to comment.