Set RBAC support behind a feature flag.

This is the same as with adding an existing cluster
This commit is contained in:
Thong Kuah 2018-08-29 23:38:26 +12:00
parent 0f210a69be
commit bf0179b7f1
2 changed files with 27 additions and 3 deletions

View file

@ -48,9 +48,8 @@ module Clusters
Clusters::Gcp::Kubernetes::FetchKubernetesTokenService.new(kube_client).execute
end
# GKE Clusters have RBAC enabled on Kubernetes >= 1.6
def authorization_type
'rbac'
Feature.enabled?(:rbac_clusters) ? 'rbac' : 'abac'
end
def kube_client

View file

@ -59,6 +59,8 @@ describe Clusters::Gcp::FinalizeCreationService do
metadata_name: 'gitlab-token-Y1a',
token: Base64.encode64(token)
} )
stub_feature_flags(rbac_clusters: false)
end
it_behaves_like 'success'
@ -74,9 +76,32 @@ describe Clusters::Gcp::FinalizeCreationService do
expect(platform.ca_cert).to eq(Base64.decode64(load_sample_cert))
expect(platform.username).to eq(username)
expect(platform.password).to eq(password)
expect(platform.authorization_type).to eq('rbac')
expect(platform.authorization_type).to eq('abac')
expect(platform.token).to eq(token)
end
context 'rbac_clusters feature enabled' do
before do
stub_feature_flags(rbac_clusters: true)
end
it_behaves_like 'success'
it 'has corresponded data' do
described_class.new.execute(provider)
cluster.reload
provider.reload
platform.reload
expect(provider.endpoint).to eq(endpoint)
expect(platform.api_url).to eq(api_url)
expect(platform.ca_cert).to eq(Base64.decode64(load_sample_cert))
expect(platform.username).to eq(username)
expect(platform.password).to eq(password)
expect(platform.authorization_type).to eq('rbac')
expect(platform.token).to eq(token)
end
end
end
context 'when default-token is not found' do