Commit bf0179b7 authored by Thong Kuah's avatar Thong Kuah

Set RBAC support behind a feature flag.

This is the same as with adding an existing cluster
parent 0f210a69
...@@ -48,9 +48,8 @@ module Clusters ...@@ -48,9 +48,8 @@ module Clusters
Clusters::Gcp::Kubernetes::FetchKubernetesTokenService.new(kube_client).execute Clusters::Gcp::Kubernetes::FetchKubernetesTokenService.new(kube_client).execute
end end
# GKE Clusters have RBAC enabled on Kubernetes >= 1.6
def authorization_type def authorization_type
'rbac' Feature.enabled?(:rbac_clusters) ? 'rbac' : 'abac'
end end
def kube_client def kube_client
......
...@@ -59,6 +59,8 @@ describe Clusters::Gcp::FinalizeCreationService do ...@@ -59,6 +59,8 @@ describe Clusters::Gcp::FinalizeCreationService do
metadata_name: 'gitlab-token-Y1a', metadata_name: 'gitlab-token-Y1a',
token: Base64.encode64(token) token: Base64.encode64(token)
} ) } )
stub_feature_flags(rbac_clusters: false)
end end
it_behaves_like 'success' it_behaves_like 'success'
...@@ -74,9 +76,32 @@ describe Clusters::Gcp::FinalizeCreationService do ...@@ -74,9 +76,32 @@ describe Clusters::Gcp::FinalizeCreationService do
expect(platform.ca_cert).to eq(Base64.decode64(load_sample_cert)) expect(platform.ca_cert).to eq(Base64.decode64(load_sample_cert))
expect(platform.username).to eq(username) expect(platform.username).to eq(username)
expect(platform.password).to eq(password) 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) expect(platform.token).to eq(token)
end 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 end
context 'when default-token is not found' do context 'when default-token is not found' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment