mirror of https://github.com/rancher/ui.git
505 lines
21 KiB
Handlebars
505 lines
21 KiB
Handlebars
{{#accordion-list showExpandAll=false as |al expandFn|}}
|
|
|
|
|
|
{{!-- Only allow edits to tenancy, compartment, and region configuration for new cluster --}}
|
|
{{#accordion-list-item title=(t "clusterNew.oracleoke.access.title")
|
|
detail=(t "clusterNew.oracleoke.access.detail")
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
expandOnInit=true
|
|
}}
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.tenancyOCID.label'}}{{field-required}}
|
|
</label>
|
|
{{#input-or-display editable=isNew value=config.tenancyId}}
|
|
{{input type="text" name="tenancy" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.tenancyOCID.placeholder') value=config.tenancyId}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.region.label'}}{{field-required}}
|
|
</label>
|
|
{{#if (and (eq step 1) isNew)}}
|
|
<select class="form-control" onchange={{action (mut config.region) value="target.value"}}>
|
|
{{#each authRegionChoices as |choice|}}
|
|
<option value={{choice}} selected={{eq config.region choice}}>{{choice}}</option>
|
|
{{/each}}
|
|
</select>
|
|
<p class="help-block">
|
|
{{t 'clusterNew.oracleoke.region.help'}}
|
|
</p>
|
|
{{else}}
|
|
<div>{{config.region}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{!-- Allow edits to user details for both new and existing cluster --}}
|
|
<div class="row">
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.userOcid.label'}}{{field-required}}
|
|
</label>
|
|
{{#input-or-display editable=(or isNew editing) value=config.userOcid}}
|
|
{{input type="text" name="username" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.userOcid.placeholder') value=config.userOcid}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.userFingerprint.label'}}{{field-required}}
|
|
</label>
|
|
{{#input-or-display editable=(or isNew editing) value=config.fingerprint}}
|
|
{{input type="text" name="fingerprint" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.userFingerprint.placeholder') value=config.fingerprint}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.secretKeyPassphrase.label'}}
|
|
</label>
|
|
{{#input-or-display editable=(or isNew editing) value=config.privateKeyPassphrase}}
|
|
{{input type="password" name="password" classNames="form-control" concealValue=true placeholder=(t 'clusterNew.oracleoke.secretKeyPassphrase.placeholder') value=config.privateKeyPassphrase}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label pt-5">{{t "clusterNew.oracleoke.secretKey.label"}}{{field-required}}</label>
|
|
</div>
|
|
{{input-text-file
|
|
classNames="box"
|
|
value=config.privateKeyContents
|
|
multiple=False
|
|
canChangeName=false
|
|
accept="text/plain,.pem,.pkey,.key"
|
|
minHeight=40
|
|
placeholder="clusterNew.oracleoke.secretKey.placeholder"
|
|
shouldChangeName=false
|
|
concealValue=true
|
|
}}
|
|
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{!-- authenticate to OCI --}}
|
|
{{#if (eq step 1)}}
|
|
{{save-cancel editing=false
|
|
save="authenticateOCI"
|
|
cancel=close
|
|
saveDisabled=canAuthenticate
|
|
createLabel="clusterNew.oracleoke.access.next"
|
|
savingLabel="clusterNew.oracleoke.access.loading"
|
|
}}
|
|
{{/if}}
|
|
|
|
{{#if (and (gte step 2) editing)}}
|
|
{{!-- edit cluster --}}
|
|
{{#accordion-list-item title=(t "clusterNew.oracleoke.cluster.title")
|
|
detail=(t "clusterNew.oracleoke.cluster.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.version.label'}}
|
|
</label>
|
|
{{#if (eq step 2)}}
|
|
<select class="form-control" onchange={{action (mut config.kubernetesVersion) value="target.value"}}>
|
|
<option> </option>
|
|
{{#each okeVersions as |choice|}}
|
|
{{#if (lte config.kubernetesVersion choice)}}
|
|
<option value={{choice}} selected={{eq config.kubernetesVersion choice}}>{{choice}}</option>
|
|
{{/if}}
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
<div>{{config.kubernetesVersion}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.quantityPerSubnet.label'}}
|
|
</label>
|
|
{{#input-or-display editable=(or (eq mode "new") eq mode "editing") value=config.quantityPerSubnet}}
|
|
{{input-integer min=0 max=maxNodeCount value=config.quantityPerSubnet classNames="form-control" placeholder=(t 'clusterNew.oracleoke.quantityPerSubnet.placeholder')}}
|
|
<p class="help-block">
|
|
{{t 'clusterNew.oracleoke.quantityPerSubnet.help'}}
|
|
</p>
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/accordion-list-item}}
|
|
|
|
{{!-- exit point for update/upgrade --}}
|
|
{{save-cancel editing=(eq mode 'edit')
|
|
save="upgradeCluster"
|
|
cancel=close
|
|
}}
|
|
{{#if refresh}}
|
|
|
|
{{/if}}
|
|
|
|
{{else}}
|
|
{{!-- new cluster --}}
|
|
{{#if (gte step 2)}}
|
|
{{#accordion-list-item title=(t "clusterNew.oracleoke.cluster.title")
|
|
detail=(t "clusterNew.oracleoke.cluster.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-4 mb-0">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.version.label'}}
|
|
</label>
|
|
{{#if (eq step 2)}}
|
|
<select class="form-control" onchange={{action (mut config.kubernetesVersion) value="target.value"}}>
|
|
<option> </option>
|
|
{{#each okeVersions as |choice|}}
|
|
<option value={{choice}} selected={{eq config.kubernetesVersion choice}}>{{choice}}</option>
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
<div>{{config.kubernetesVersion}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-4 mb-0">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.quantityPerSubnet.label'}}
|
|
</label>
|
|
{{#input-or-display editable=(and (eq step 2) isNew) value=config.quantityPerSubnet}}
|
|
{{input-integer min=0 max=maxNodeCount value=config.quantityPerSubnet classNames="form-control" placeholder=(t 'clusterNew.oracleoke.quantityPerSubnet.placeholder')}}
|
|
<p class="help-block">
|
|
{{t 'clusterNew.oracleoke.quantityPerSubnet.help'}}
|
|
</p>
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.compartmentOCID.label'}}{{field-required}}
|
|
</label>
|
|
{{#input-or-display editable=(and (eq step 2) isNew) value=config.compartmentId}}
|
|
{{input type="text" name="compartment" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.compartmentOCID.placeholder') value=config.compartmentId}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.kmsKeyId.label'}}
|
|
</label>
|
|
{{#input-or-display editable=isNew value=config.kmsKeyId}}
|
|
{{input type="text" name="kmsKeyId" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.kmsKeyId.placeholder') value=config.kmsKeyId}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
{{#if (eq step 2)}}
|
|
{{save-cancel editing=(eq mode 'edit')
|
|
save="loadNodeConfig"
|
|
saveDisabled=canAddK8sVersion
|
|
cancel=close
|
|
createLabel="clusterNew.oracleoke.cluster.next"
|
|
savingLabel="clusterNew.oracleoke.cluster.loading"
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
{{#if (gte step 3)}}
|
|
{{#accordion-list-item title=(t "clusterNew.oracleoke.vcn.title")
|
|
detail=(t "clusterNew.oracleoke.vcn.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col span-6">
|
|
{{#input-or-display
|
|
editable=(not-eq mode "view")
|
|
value=(if vcnCreationMode (t "generic.enabled") (t "generic.disabled"))
|
|
}}
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=vcnCreationMode
|
|
value="Quick"
|
|
disabled=(if multipleRegistries true false)
|
|
}}
|
|
{{t 'clusterNew.oracleoke.subnetAccessOptions.quick'}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=vcnCreationMode
|
|
value="Existing"
|
|
disabled=(if multipleRegistries true false)
|
|
}}
|
|
{{t 'clusterNew.oracleoke.subnetAccessOptions.existing'}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=vcnCreationMode
|
|
value="Custom"
|
|
disabled=(if multipleRegistries true false)
|
|
}}
|
|
{{t 'clusterNew.oracleoke.subnetAccessOptions.custom'}}
|
|
</label>
|
|
</div>
|
|
|
|
{{#if (eq vcnCreationMode "Custom")}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.controlPlaneSubnet.label'}}{{field-required}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=selectedSubnetAccess}}
|
|
{{searchable-select class="form-control"
|
|
content=subnetAccessChoices
|
|
value=config.cpSubnetAccess
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.subnet.label'}}{{field-required}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=selectedSubnetAccess}}
|
|
{{searchable-select class="form-control"
|
|
content=subnetAccessChoices
|
|
value=config.npSubnetAccess
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-12">
|
|
{{#if (and (not-eq config.cpSubnetAccess "public") (eq step 3))}}
|
|
{{banner-message
|
|
icon="icon-alert"
|
|
color="bg-warning mb-10"
|
|
message=(t "clusterNew.oracleoke.controlPlaneSubnet.warning")
|
|
}}
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.podCidr.label'}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.podCidr}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.podCidr.placeholder') value=config.podCidr}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.serviceCidr.label'}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.serviceCidr}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.serviceCidr.placeholder') value=config.serviceCidr}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if (eq vcnCreationMode "Existing")}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.existingVCNDetails.compartmentOCID'}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.vcnCompartmentId}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.existingVCNDetails.compartmentOCIDPlaceholder') value=config.vcnCompartmentId}}
|
|
<p class="help-block">{{t "clusterNew.oracleoke.existingVCNDetails.compartmentOCIDHelp" }}</p>
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.existingVCNDetails.vcnName'}}{{field-required}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.vcnName}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.existingVCNDetails.vcnNamePlaceholder') value=config.vcnName}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.existingVCNDetails.controlPlaneSubnetName'}}{{field-required}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.controlPlaneSubnetName}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.existingVCNDetails.controlPlaneSubnetNamePlaceholder') value=config.controlPlaneSubnetName}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.existingVCNDetails.nodePoolPlaneSubnetName'}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.nodePoolSubnetName}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.existingVCNDetails.nodePoolSubnetNamePlaceholder') value=config.nodePoolSubnetName}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.existingVCNDetails.lbSubnetName1'}}{{field-required}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.loadBalancerSubnetName1}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.existingVCNDetails.lbSubnetName1Placeholder') value=config.loadBalancerSubnetName1}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'clusterNew.oracleoke.existingVCNDetails.lbSubnetName2'}}</label>
|
|
{{#input-or-display editable=(and (eq step 3) isNew) value=config.loadBalancerSubnetName2}}
|
|
{{input type="text" classNames="form-control" placeholder=(t 'clusterNew.oracleoke.existingVCNDetails.lbSubnetName2Placeholder') value=config.loadBalancerSubnetName2}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
{{/if}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/accordion-list-item}}
|
|
{{#if (eq step 3)}}
|
|
{{save-cancel editing=(eq mode 'edit')
|
|
save="loadInstanceConfig"
|
|
cancel=close
|
|
saveDisabled=canSaveVCN
|
|
createLabel="clusterNew.oracleoke.node.next"
|
|
savingLabel="clusterNew.oracleoke.node.loading"
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
{{#if (gte step 4)}}
|
|
{{#accordion-list-item title=(t "clusterNew.oracleoke.instance.title")
|
|
detail=(t "clusterNew.oracleoke.instance.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.nodeShape.label'}}{{field-required}}
|
|
</label>
|
|
{{#if (eq step 4)}}
|
|
<select class="form-control" onchange={{action (mut config.nodeShape) value="target.value"}}>
|
|
{{#each nodeShapes as |choice|}}
|
|
<option value={{choice}} selected={{eq config.nodeShape choice}}>{{choice}}</option>
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
<div>{{config.nodeShape}}</div>
|
|
{{/if}}
|
|
</div>
|
|
{{#if isFlex}}
|
|
<div class="col span-4">
|
|
<label class="acc-label" for="input-ocpu-count">
|
|
{{t "clusterNew.oracleoke.flexShapeConfig.label"}}
|
|
</label>{{field-required}}
|
|
{{input-number
|
|
id="input-ocpu-count"
|
|
min=1
|
|
max=64
|
|
value=config.flexOcpus
|
|
}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t 'clusterNew.oracleoke.os.label'}}{{field-required}}
|
|
</label>
|
|
{{#if (eq step 4)}}
|
|
<select class="form-control" onchange={{action (mut config.nodeImage) value="target.value"}}>
|
|
<option> </option>
|
|
{{#each nodeImages as |choice|}}
|
|
<option value={{choice}} selected={{eq config.nodeImage choice}}>{{choice}}</option>
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
<div>{{config.nodeImage}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.oracleoke.bootVolumeSize.label"}}
|
|
</label>
|
|
<div class="input-group">
|
|
{{input-number min=50 max=32768 value=config.customBootVolumeSize }}
|
|
<span class="input-group-addon bg-default">{{t "generic.gigabyte"}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label pt-5">
|
|
{{t "clusterNew.oracleoke.nodeSSHKey.label"}}
|
|
</label>
|
|
</div>
|
|
{{input-text-file
|
|
classNames="box"
|
|
value=config.nodePublicKeyContents
|
|
multiple=False
|
|
canChangeName=false
|
|
accept="text/plain,.pem,.pub,.key"
|
|
minHeight=40
|
|
placeholder="clusterNew.oracleoke.nodeSSHKey.placeholder"
|
|
shouldChangeName=false
|
|
concealValue=false
|
|
}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/accordion-list-item}}
|
|
{{#if (eq step 4)}}
|
|
{{save-cancel editing=(eq mode 'edit')
|
|
saveDisabled=canCreateCluster
|
|
save="save"
|
|
cancel=close
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
|
|
{{top-errors errors=errors}}
|
|
{{top-errors errors=otherErrors}}
|
|
{{top-errors errors=clusterErrors}}
|
|
|
|
|
|
{{/accordion-list}} |