Module: ClustersHelper
- Defined in:
- app/helpers/clusters_helper.rb
Instance Method Summary collapse
- #can_admin_cluster?(user, cluster) ⇒ Boolean
- #cluster_created?(cluster) ⇒ Boolean
- #cluster_type_label(cluster_type) ⇒ Object
- #display_cluster_agents?(clusterable) ⇒ Boolean
- #has_rbac_enabled?(cluster) ⇒ Boolean
- #js_cluster_form_data(cluster, can_edit) ⇒ Object
- #js_clusters_list_data(clusterable) ⇒ Object
- #project_cluster?(cluster) ⇒ Boolean
- #render_cluster_info_tab_content(tab, expanded) ⇒ Object
- #render_gcp_signup_offer ⇒ Object
Instance Method Details
#can_admin_cluster?(user, cluster) ⇒ Boolean
98 99 100 |
# File 'app/helpers/clusters_helper.rb', line 98 def can_admin_cluster?(user, cluster) can?(user, :admin_cluster, cluster) end |
#cluster_created?(cluster) ⇒ Boolean
94 95 96 |
# File 'app/helpers/clusters_helper.rb', line 94 def cluster_created?(cluster) !cluster.status_name.in?(%i[scheduled creating]) end |
#cluster_type_label(cluster_type) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'app/helpers/clusters_helper.rb', line 67 def cluster_type_label(cluster_type) case cluster_type when 'project_type' s_('ClusterIntegration|Project cluster') when 'group_type' s_('ClusterIntegration|Group cluster') when 'instance_type' s_('ClusterIntegration|Instance cluster') else Gitlab::ErrorTracking.track_and_raise_for_dev_exception( ArgumentError.new('Cluster Type Missing'), cluster_error: { error: 'Cluster Type Missing', cluster_type: cluster_type } ) _('Cluster') end end |
#display_cluster_agents?(clusterable) ⇒ Boolean
4 5 6 |
# File 'app/helpers/clusters_helper.rb', line 4 def display_cluster_agents?(clusterable) clusterable.is_a?(Project) end |
#has_rbac_enabled?(cluster) ⇒ Boolean
84 85 86 87 88 |
# File 'app/helpers/clusters_helper.rb', line 84 def has_rbac_enabled?(cluster) return cluster.platform_kubernetes_rbac? if cluster.platform_kubernetes cluster.provider.has_rbac_enabled? end |
#js_cluster_form_data(cluster, can_edit) ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'app/helpers/clusters_helper.rb', line 34 def js_cluster_form_data(cluster, can_edit) { enabled: cluster.enabled?.to_s, editable: can_edit.to_s, environment_scope: cluster.environment_scope, base_domain: cluster.base_domain, auto_devops_help_path: help_page_path('topics/autodevops/index'), external_endpoint_help_path: help_page_path('user/project/clusters/gitlab_managed_clusters.md', anchor: 'base-domain') } end |
#js_clusters_list_data(clusterable) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/helpers/clusters_helper.rb', line 8 def js_clusters_list_data(clusterable) { ancestor_help_path: help_page_path('user/group/clusters/index', anchor: 'cluster-precedence'), endpoint: clusterable.index_path(format: :json), img_tags: { aws: { path: image_path('illustrations/logos/amazon_eks.svg'), text: s_('ClusterIntegration|Amazon EKS') }, default: { path: image_path('illustrations/logos/kubernetes.svg'), text: _('Kubernetes Cluster') }, gcp: { path: image_path('illustrations/logos/google_gke.svg'), text: s_('ClusterIntegration|Google GKE') } }, clusters_empty_state_image: image_path('illustrations/empty-state/empty-state-clusters.svg'), empty_state_image: image_path('illustrations/empty-state/empty-state-agents.svg'), empty_state_help_text: clusterable.empty_state_help_text, add_cluster_path: clusterable.connect_path, new_cluster_docs_path: clusterable.new_cluster_docs_path, can_add_cluster: clusterable.can_add_cluster?.to_s, can_admin_cluster: clusterable.can_admin_cluster?.to_s, display_cluster_agents: display_cluster_agents?(clusterable).to_s, certificate_based_clusters_enabled: clusterable.certificate_based_clusters_enabled?.to_s, default_branch_name: default_branch_name(clusterable), project_path: clusterable_project_path(clusterable), kas_address: Gitlab::Kas.external_url, gitlab_version: Gitlab.version_info, kas_version: Gitlab::Kas.version_info } end |
#project_cluster?(cluster) ⇒ Boolean
90 91 92 |
# File 'app/helpers/clusters_helper.rb', line 90 def project_cluster?(cluster) cluster.cluster_type.in?('project_type') end |
#render_cluster_info_tab_content(tab, expanded) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/helpers/clusters_helper.rb', line 54 def render_cluster_info_tab_content(tab, ) case tab when 'environments' render_if_exists 'clusters/clusters/environments' when 'apps' render 'applications' when 'settings' render 'advanced_settings_container' else render('details', expanded: ) end end |
#render_gcp_signup_offer ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'app/helpers/clusters_helper.rb', line 45 def render_gcp_signup_offer return if Gitlab::CurrentSettings.current_application_settings.hide_third_party_offers? return unless show_gcp_signup_offer? content_tag :section, class: 'no-animate expanded' do render 'clusters/clusters/gcp_signup_offer_banner' end end |