summaryrefslogtreecommitdiff
path: root/app/views/clusters/clusters/gcp/_form.html.haml
blob: 8ed4666e79a141fd2501d83fa2c3feea44cfae9c (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
69
70
71
72
73
74
= javascript_include_tag 'https://apis.google.com/js/api.js'
- external_link_icon = icon('external-link')
- zones_link_url = 'https://cloud.google.com/compute/docs/regions-zones/regions-zones'
- machine_type_link_url = 'https://cloud.google.com/compute/docs/machine-types'
- pricing_link_url = 'https://cloud.google.com/compute/pricing#machinetype'
- help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe
- help_link_end = ' %{external_link_icon}</a>'.html_safe % { external_link_icon: external_link_icon }

%p
  - link_to_help_page = link_to(s_('ClusterIntegration|help page'), help_page_path('user/project/clusters/index'), target: '_blank', rel: 'noopener noreferrer')
  = s_('ClusterIntegration|Read our %{link_to_help_page} on Kubernetes cluster integration.').html_safe % { link_to_help_page: link_to_help_page}

%p= link_to('Select a different Google account', @authorize_url)

= form_for @gcp_cluster, html: { class: 'js-gke-cluster-creation prepend-top-20', data: { token: token_in_session } }, url: clusterable.create_gcp_clusters_path, as: :cluster do |field|
  = form_errors(@gcp_cluster)
  .form-group
    = field.label :name, s_('ClusterIntegration|Kubernetes cluster name'), class: 'label-bold'
    = field.text_field :name, class: 'form-control', placeholder: s_('ClusterIntegration|Kubernetes cluster name')
  .form-group
    = field.label :environment_scope, s_('ClusterIntegration|Environment scope'), class: 'label-bold'
    = field.text_field :environment_scope, class: 'form-control', readonly: !has_multiple_clusters?, placeholder: s_('ClusterIntegration|Environment scope')

  = field.fields_for :provider_gcp, @gcp_cluster.provider_gcp do |provider_gcp_field|
    .form-group
      = provider_gcp_field.label :gcp_project_id, s_('ClusterIntegration|Google Cloud Platform project'), class: 'label-bold'
      .js-gcp-project-id-dropdown-entry-point{ data: { docsUrl: 'https://console.cloud.google.com/home/dashboard' } }
        = provider_gcp_field.hidden_field :gcp_project_id
        .dropdown
          %button.dropdown-menu-toggle.dropdown-menu-full-width{ type: 'button', disabled: true }
            %span.dropdown-toggle-text
              = _('Select project')
            = icon('chevron-down')
        %span.form-text.text-muted &nbsp;

    .form-group
      = provider_gcp_field.label :zone, s_('ClusterIntegration|Zone'), class: 'label-bold'
      .js-gcp-zone-dropdown-entry-point
        = provider_gcp_field.hidden_field :zone
        .dropdown
          %button.dropdown-menu-toggle.dropdown-menu-full-width{ type: 'button', disabled: true }
            %span.dropdown-toggle-text
              = _('Select project to choose zone')
            = icon('chevron-down')
      %p.form-text.text-muted
        = s_('ClusterIntegration|Learn more about %{help_link_start}zones%{help_link_end}.').html_safe % { help_link_start: help_link_start % { url: zones_link_url }, help_link_end: help_link_end }

    .form-group
      = provider_gcp_field.label :num_nodes, s_('ClusterIntegration|Number of nodes'), class: 'label-bold'
      = provider_gcp_field.text_field :num_nodes, class: 'form-control', placeholder: '3'

    .form-group
      = provider_gcp_field.label :machine_type, s_('ClusterIntegration|Machine type'), class: 'label-bold'
      .js-gcp-machine-type-dropdown-entry-point
        = provider_gcp_field.hidden_field :machine_type
        .dropdown
          %button.dropdown-menu-toggle.dropdown-menu-full-width{ type: 'button', disabled: true }
            %span.dropdown-toggle-text
              = _('Select project and zone to choose machine type')
            = icon('chevron-down')
      %p.form-text.text-muted
        = s_('ClusterIntegration|Learn more about %{help_link_start_machine_type}machine types%{help_link_end} and %{help_link_start_pricing}pricing%{help_link_end}.').html_safe % { help_link_start_machine_type: help_link_start % { url: machine_type_link_url }, help_link_start_pricing: help_link_start % { url: pricing_link_url }, help_link_end: help_link_end }

    .form-group
      .form-check
        = provider_gcp_field.check_box :legacy_abac, { class: 'form-check-input' }, false, true
        = provider_gcp_field.label :legacy_abac, s_('ClusterIntegration|RBAC-enabled cluster'), class: 'form-check-label label-bold'
        .form-text.text-muted
          = s_('ClusterIntegration|Enable this setting if using role-based access control (RBAC).')
          = s_('ClusterIntegration|This option will allow you to install applications on RBAC clusters.')
          = link_to _('More information'), help_page_path('user/project/clusters/index.md', anchor: 'role-based-access-control-rbac-core-only'), target: '_blank'

    .form-group
      = field.submit s_('ClusterIntegration|Create Kubernetes cluster'), class: 'js-gke-cluster-creation-submit btn btn-success', disabled: true