mirror of https://github.com/rancher/ui.git
253 lines
9.7 KiB
Handlebars
253 lines
9.7 KiB
Handlebars
{{#if (or isEdit (eq step 1))}}
|
|
{{#accordion-list showExpandAll=false as |al expandFn|}}
|
|
{{#accordion-list-item
|
|
title=(t 'clusterNew.rke.customize.label')
|
|
detail=(t 'clusterNew.rke.customize.detail')
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'clusterNew.rke.version.label'}}</label>
|
|
{{new-select
|
|
content=versionChoices
|
|
optionLabelPath='value'
|
|
value=config.kubernetesVersion
|
|
}}
|
|
</div>
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'clusterNew.rke.network.label'}}</label>
|
|
{{new-select
|
|
classNames="form-control"
|
|
content=networkChoices
|
|
localizedLabel=true
|
|
value=config.network.plugin
|
|
}}
|
|
{{#if (eq config.network.plugin 'flannel')}}
|
|
<label class="acc-label mt-5">{{t 'clusterNew.rke.network.options.flannel.iface.label'}}</label>
|
|
{{input type="text" value=config.network.flannelNetworkProvider.iface}}
|
|
{{else if (eq config.network.plugin 'calico')}}
|
|
<label class="acc-label mt-5">{{t 'clusterNew.rke.network.options.calico.cloudProvider.label'}}</label>
|
|
{{input type="text" value=config.network.calicoNetworkProvider.cloudProvider}}
|
|
{{/if}}
|
|
</div>
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'clusterNew.rke.podSecurityPolicy.label'}}</label>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=config.services.kubeApi.podSecurityPolicy value=false disabled=(not model.psps.length)}}
|
|
{{t 'generic.disabled'}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label class={{unless model.psps.length 'text-muted'}}>
|
|
{{radio-button selection=config.services.kubeApi.podSecurityPolicy value=true disabled=(not model.psps.length)}}
|
|
{{t 'generic.enabled'}}
|
|
{{#unless model.psps.length}}
|
|
— {{t 'clusterNew.psp.none'}}
|
|
{{/unless}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'clusterNew.rke.registry.label'}}</label>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=registry value="default"}}
|
|
{{t 'clusterNew.rke.registry.default'}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=registry value="custom"}}
|
|
{{t 'clusterNew.rke.registry.custom'}}
|
|
</label>
|
|
</div>
|
|
{{#if (eq registry 'custom')}}
|
|
<label class="acc-label">{{t 'clusterNew.rke.registry.url.label'}}</label>
|
|
{{input type="text" value=registryUrl}}
|
|
<label class="acc-label">{{t 'clusterNew.rke.registry.user.label'}}</label>
|
|
{{input type="text" value=registryUser}}
|
|
<label class="acc-label">{{t 'clusterNew.rke.registry.password.label'}}</label>
|
|
{{input type="password" value=registryPass}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'clusterNew.rke.ignoreDockerVersion.label'}}</label>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=config.ignoreDockerVersion value=false}}
|
|
{{t 'clusterNew.rke.ignoreDockerVersion.disabled'}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=config.ignoreDockerVersion value=true}}
|
|
{{t 'clusterNew.rke.ignoreDockerVersion.enabled'}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col span-4">
|
|
{{#if config.services.kubeApi.podSecurityPolicy}}
|
|
<label class="acc-label">{{t 'clusterNew.psp.label'}}{{field-required}}</label>
|
|
{{new-select
|
|
content=model.psps
|
|
optionLabelPath='displayName'
|
|
optionValuePath='id'
|
|
prompt='clusterNew.psp.prompt'
|
|
localizedPrompt=true
|
|
value=cluster.defaultPodSecurityPolicyTemplateId
|
|
disabled=(not config.services.kubeApi.podSecurityPolicy)
|
|
}}
|
|
{{else}}
|
|
<label class="acc-label">{{t 'clusterNew.psp.label'}}</label>
|
|
<div class="form-control-static">{{t 'generic.none'}}</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label mt-5">{{t 'clusterNew.rke.etcd.heartbeat.label'}}</label>
|
|
<div class="input-group">
|
|
{{input-integer min="0" step="100" value=config.services.etcd.extraArgs.heartbeat-interval classNames="form-control" placeholder=(t 'clusterNew.rke.etcd.heartbeat.placeholder')}}
|
|
<div class="input-group-addon bg-default">{{t 'generic.milliseconds'}}</div>
|
|
</div>
|
|
</div>
|
|
<div class="col span-4">
|
|
<label class="acc-label mt-5">{{t 'clusterNew.rke.etcd.election.label'}}</label>
|
|
<div class="input-group">
|
|
{{input-integer min="0" step="1000" value=config.services.etcd.extraArgs.election-timeout classNames="form-control" placeholder=(t 'clusterNew.rke.etcd.election.placeholder')}}
|
|
<div class="input-group-addon bg-default">{{t 'generic.milliseconds'}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-12">
|
|
{{cru-cloud-provider
|
|
cluster=model.cluster
|
|
driver=nodeWhich
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
{{/accordion-list}}
|
|
|
|
{{#unless isCustom}}
|
|
{{cru-node-pools
|
|
mode=mode
|
|
cluster=cluster
|
|
driver=nodeWhich
|
|
nodeTemplates=model.nodeTemplates
|
|
registerHook=(action "registerHook")
|
|
setNodePoolErrors=(action "setNodePoolErrors")
|
|
}}
|
|
{{/unless}}
|
|
{{/if}}
|
|
|
|
{{#if (and isCustom (eq step 2)) }}
|
|
<div class="mt-20">
|
|
{{banner-message color="bg-info" message=(t 'clusterNew.rke.command.instructions'
|
|
appName=settings.appName
|
|
docsBase=settings.docsBase
|
|
htmlSafe=true
|
|
)}}
|
|
</div>
|
|
|
|
<div class="copy-pre mt-20 mb-20">
|
|
{{#if loading}}
|
|
<div class="text-center"><i class="icon icon-spinner icon-spin"></i> {{t 'generic.loading'}}</div>
|
|
{{else if command}}
|
|
{{copy-to-clipboard clipboardText=command tagName="div" classNames="copy-to-pre"}}
|
|
<pre id="registration-command" style="font-size: 14px;">{{command}}</pre>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#accordion-list showExpandAll=false as |al expandFn|}}
|
|
{{#accordion-list-item
|
|
title=(t 'clusterNew.rke.role.title')
|
|
detail=(t 'clusterNew.rke.role.detail')
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-4 text-center">
|
|
<label>{{input type="checkbox" checked=etcd}} {{t 'clusterNew.rke.role.header.etcd'}}</label>
|
|
</div>
|
|
<div class="col span-4 text-center">
|
|
<label>{{input type="checkbox" checked=controlplane}} {{t 'clusterNew.rke.role.header.controlplane'}}</label>
|
|
</div>
|
|
<div class="col span-4 text-center">
|
|
<label>{{input type="checkbox" checked=worker}} {{t 'clusterNew.rke.role.header.worker'}}</label>
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{#accordion-list-item
|
|
title=(t 'clusterNew.rke.address.title')
|
|
detail=(t 'clusterNew.rke.address.detail')
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.rke.address.public.label'}}</label>
|
|
{{input type="text" value=address placeholder=(t 'clusterNew.rke.address.public.placeholder')}}
|
|
{{#unless isAddressValid}}
|
|
<div class="banner bg-warning">
|
|
<div class="banner-icon"><span class="icon icon-alert"></span></div>
|
|
<div class="banner-message">
|
|
<p>{{t 'clusterNew.rke.address.warning'}}</p>
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.rke.address.private.label'}}</label>
|
|
{{input type="text" value=internalAddress placeholder=(t 'clusterNew.rke.address.private.placeholder')}}
|
|
{{#unless isInternalAddressValid}}
|
|
<div class="banner bg-warning">
|
|
<div class="banner-icon"><span class="icon icon-alert"></span></div>
|
|
<div class="banner-message">
|
|
<p>{{t 'clusterNew.rke.address.warning'}}</p>
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{form-user-labels
|
|
setLabels=(action 'setLabels')
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
detailKey="formUserLabels.nodeDetail"
|
|
}}
|
|
{{/accordion-list}}
|
|
|
|
{{#if newNodeCount}}
|
|
<div class="banner bg-success">
|
|
<div class="banner-icon"><span class="icon icon-success"></span></div>
|
|
<div class="banner-message">
|
|
<p>{{t 'clusterNew.rke.detected' count=newNodeCount}}</p>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{top-errors errors=errors}}
|
|
{{top-errors errors=clusterErrors}}
|
|
{{top-errors errors=otherErrors}}
|
|
{{#if (or isEdit (eq step 1))}}
|
|
{{save-cancel createLabel=(if isCustom 'saveCancel.next' 'saveCancel.create') editing=isEdit save="driverSave" cancel="close"}}
|
|
{{else}}
|
|
<div class="footer-actions">
|
|
<button {{action "close"}} class="btn bg-primary">{{t 'clusterNew.rke.done'}}</button>
|
|
</div>
|
|
{{/if}}
|