From 1e27ac3a481361d088e729b16b46b5bb8e896439 Mon Sep 17 00:00:00 2001 From: James Fargher Date: Fri, 30 Aug 2019 09:31:13 +1200 Subject: Spec additions for cert-manager --- app/models/clusters/applications/cert_manager.rb | 4 ++-- spec/models/clusters/applications/cert_manager_spec.rb | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/models/clusters/applications/cert_manager.rb b/app/models/clusters/applications/cert_manager.rb index f5d30dd865a..27d4180e5b9 100644 --- a/app/models/clusters/applications/cert_manager.rb +++ b/app/models/clusters/applications/cert_manager.rb @@ -61,10 +61,10 @@ module Clusters end def post_install_script - [wait_for_command(apply_file('/data/helm/certmanager/config/cluster_issuer.yaml'))] + [retry_command(apply_file('/data/helm/certmanager/config/cluster_issuer.yaml'))] end - def wait_for_command(command) + def retry_command(command) "for i in $(seq 1 30); do #{command} && break; sleep 1s; echo \"Retrying ($i)...\"; done" end diff --git a/spec/models/clusters/applications/cert_manager_spec.rb b/spec/models/clusters/applications/cert_manager_spec.rb index 0cc5aac669b..f6d5d05e4a0 100644 --- a/spec/models/clusters/applications/cert_manager_spec.rb +++ b/spec/models/clusters/applications/cert_manager_spec.rb @@ -45,10 +45,17 @@ describe Clusters::Applications::CertManager do it 'is initialized with cert_manager arguments' do expect(subject.name).to eq('certmanager') expect(subject.chart).to eq('certmanager/cert-manager') + expect(subject.repository).to eq('https://charts.jetstack.io') expect(subject.version).to eq('v0.9.1') expect(subject).to be_rbac expect(subject.files).to eq(cert_manager.files.merge(cluster_issuer_file)) - expect(subject.postinstall).to eq(['for i in $(seq 1 30); do kubectl apply -f /data/helm/certmanager/config/cluster_issuer.yaml && break; sleep 1s; echo "Retrying ($i)..."; done']) + expect(subject.preinstall).to eq([ + 'kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.9/deploy/manifests/00-crds.yaml', + 'kubectl label --overwrite namespace gitlab-managed-apps certmanager.k8s.io/disable-validation=true' + ]) + expect(subject.postinstall).to eq([ + 'for i in $(seq 1 30); do kubectl apply -f /data/helm/certmanager/config/cluster_issuer.yaml && break; sleep 1s; echo "Retrying ($i)..."; done' + ]) end context 'for a specific user' do -- cgit v1.2.1