ui/lib/shared/addon/components/cluster-driver/driver-rke/template.hbs

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}}
&mdash; {{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}}