Skip to content

Commit 3516590

Browse files
Cecile Robert-Michonchewong
andauthored
Make cert manager install in makefile more resilient (#1432)
* Make cert manager install in makefile more resilient * Update hack/install-cert-manager.sh Co-authored-by: Ernest Wong <[email protected]> Co-authored-by: Ernest Wong <[email protected]>
1 parent 9d71f9f commit 3516590

File tree

2 files changed

+58
-4
lines changed

2 files changed

+58
-4
lines changed

Makefile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -455,10 +455,7 @@ create-management-cluster: $(KUSTOMIZE) $(ENVSUBST)
455455
$(MAKE) kind-create
456456

457457
# Install cert manager and wait for availability
458-
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.1.0/cert-manager.yaml
459-
kubectl wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager
460-
kubectl wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager-cainjector
461-
kubectl wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager-webhook
458+
./hack/install-cert-manager.sh
462459

463460
# Deploy CAPI
464461
curl --retry $(CURL_RETRIES) -sSL https://github.com/kubernetes-sigs/cluster-api/releases/download/v0.4.0-beta.0/cluster-api-components.yaml | $(ENVSUBST) | kubectl apply -f -

hack/install-cert-manager.sh

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2021 The Kubernetes Authors.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -o errexit
18+
set -o nounset
19+
set -o pipefail
20+
21+
TEST_RESOURCE=$(cat <<-END
22+
apiVersion: v1
23+
kind: Namespace
24+
metadata:
25+
name: cert-manager-test
26+
---
27+
apiVersion: cert-manager.io/v1
28+
kind: Issuer
29+
metadata:
30+
name: test-selfsigned
31+
namespace: cert-manager-test
32+
spec:
33+
selfSigned: {}
34+
---
35+
apiVersion: cert-manager.io/v1
36+
kind: Certificate
37+
metadata:
38+
name: selfsigned-cert
39+
namespace: cert-manager-test
40+
spec:
41+
dnsNames:
42+
- example.com
43+
secretName: selfsigned-cert-tls
44+
issuerRef:
45+
name: test-selfsigned
46+
END
47+
)
48+
49+
## Install cert manager and wait for availability
50+
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.1.0/cert-manager.yaml
51+
kubectl wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager
52+
kubectl wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager-cainjector
53+
kubectl wait --for=condition=Available --timeout=5m -n cert-manager deployment/cert-manager-webhook
54+
55+
for i in {1..6}; do (echo "$TEST_RESOURCE" | kubectl apply -f - ) && break || sleep 15; done
56+
kubectl wait --for=condition=Ready --timeout=300s -n cert-manager-test certificate/selfsigned-cert
57+
echo "$TEST_RESOURCE" | kubectl delete -f -

0 commit comments

Comments
 (0)