summaryrefslogtreecommitdiff
path: root/app/views/projects/clusters/show.html.haml
blob: f3124acfa1ce42446669e91f7146a5ade00e26fe (plain)
1
2
3
4
5
6
7
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
- status_path = status_namespace_project_cluster_path(@cluster.project.namespace, @cluster.project, @cluster.id, format: :json) if can?(current_user, :admin_cluster, @cluster) && @cluster.on_creation?
.row.prepend-top-default.edit-cluster-form.js-edit-cluster-form{ data: { status_path: status_path,
  toggle_status: @cluster.enabled? ? 'true': 'false',
  cluster_status: @cluster.status_name,
  cluster_status_reason: @cluster.status_reason }}
  .col-sm-4
    = render 'sidebar'
  .col-sm-8
    %h4.prepend-top-0
      = s_('ClusterIntegration|Enable cluster integration')
    %p
      - if @cluster.enabled?
        - if can?(current_user, :update_cluster, @cluster)
          = s_('ClusterIntegration|Cluster integration is enabled for this project. Disabling this integration will not affect your cluster, it will only temporarily turn off GitLab\'s connection to it.')
        - else
          = s_('ClusterIntegration|Cluster integration is enabled for this project.')
      - else
        = s_('ClusterIntegration|Cluster integration is disabled for this project.')

    = form_for [@project.namespace.becomes(Namespace), @project, @cluster] do |field|
      = form_errors(@cluster)
      .form-group
        %label.toggle-wrapper
          = field.hidden_field :enabled, { class: 'js-toggle-input'}

          %button{ type: 'button',
            class: "js-toggle-cluster project-feature-toggle #{'checked' unless !@cluster.enabled?} #{'disabled' unless can?(current_user, :update_cluster, @cluster)}",
            'aria-label': s_('ClusterIntegration|Toggle Cluster'),
            disabled: !can?(current_user, :update_cluster, @cluster),
            data: { 'enabled-text': 'Enabled', 'disabled-text': 'Disabled' } }

        - if can?(current_user, :update_cluster, @cluster)
          .form-group
            = field.submit s_('ClusterIntegration|Save changes'), class: 'btn btn-success'

    - if can?(current_user, :admin_cluster, @cluster)
      %label
        = s_('ClusterIntegration|Google container engine')
      %p
        - link_gke = link_to(s_('ClusterIntegration|Google Container Engine'), '', target: '_blank', rel: 'noopener noreferrer')
        = s_('ClusterIntegration|Manage your cluster by visiting %{link_gke}').html_safe % { link_gke: link_gke }

      .hidden.js-cluster-error.alert.alert-danger{ role: 'alert' }
        = s_('ClusterIntegration|Something went wrong while creating your cluster on Google Container Engine.')
        %p.js-error-reason

      .hidden.js-cluster-creating.alert.alert-info{ role: 'alert' }
        = s_('ClusterIntegration|Cluster is being created on Google Container Engine...')

      .hidden.js-cluster-success.alert.alert-info{ role: 'alert' }
        = s_('ClusterIntegration|Cluster was successfully created on Google Container Engine.')

    .form_group
      %label{ for: 'cluter_name' }
        = s_('ClusterIntegration|Cluster name')
      .input-group
        %input.form-control{ value: @cluster.gcp_cluster_name, disabled: true}
        %span.input-group-addon.clipboard-addon
          = clipboard_button(text: @cluster.gcp_cluster_name, title: s_('ClusterIntegration|Copy cluster name'))

    %br
    - if can?(current_user, :admin_cluster, @cluster)
      .well.form_group
        %label.text-danger
          = s_('ClusterIntegration|Remove cluster integration')
        %p
          = s_('ClusterIntegration|Removing cluster integration will remove the cluster configuration you have added to this project. It will not delete your project.')
        = link_to(s_('ClusterIntegration|Remove integration'), namespace_project_cluster_path(@project.namespace, @project, @cluster.id), method: :delete, class: 'btn btn-danger', data: { confirm: "Are you sure you want to remove cluster integration from this project? This will not delete your cluster on Google Container Engine"})