diff options
Diffstat (limited to 'lib/gitlab/kubernetes/helm/base_command.rb')
-rw-r--r-- | lib/gitlab/kubernetes/helm/base_command.rb | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/gitlab/kubernetes/helm/base_command.rb b/lib/gitlab/kubernetes/helm/base_command.rb index 2bcb428b25d..31cd21f17e0 100644 --- a/lib/gitlab/kubernetes/helm/base_command.rb +++ b/lib/gitlab/kubernetes/helm/base_command.rb @@ -25,11 +25,21 @@ module Gitlab end def service_account_resource - nil + return unless rbac? + + Gitlab::Kubernetes::ServiceAccount.new(service_account_name, namespace).generate end def cluster_role_binding_resource - nil + return unless rbac? + + subjects = [{ kind: 'ServiceAccount', name: service_account_name, namespace: namespace }] + + Gitlab::Kubernetes::ClusterRoleBinding.new( + cluster_role_binding_name, + cluster_role_name, + subjects + ).generate end def file_names @@ -61,6 +71,14 @@ module Gitlab def service_account_name Gitlab::Kubernetes::Helm::SERVICE_ACCOUNT end + + def cluster_role_binding_name + Gitlab::Kubernetes::Helm::CLUSTER_ROLE_BINDING + end + + def cluster_role_name + Gitlab::Kubernetes::Helm::CLUSTER_ROLE + end end end end |