open-vault/ui/app/templates/components/configure-ssh-secret.hbs

90 lines
2.8 KiB
Handlebars

{{#if @configured}}
<div class="box is-fullwidth is-sideless is-marginless">
<div class="field">
<label for="publicKey" class="is-label">
Public key
</label>
<div class="control">
<MaskedInput
@name="publickey"
@id="publicKey"
@value={{@model.publicKey}}
@displayOnly={{true}}
@allowCopy={{true}}
data-test-ssh-input="public-key"
/>
</div>
</div>
</div>
<div class="field is-grouped-split box is-fullwidth is-bottomless">
<div class="control">
<CopyButton
@clipboardText={{@model.publicKey}}
@class="button is-primary"
@buttonType="button"
@success={{action (set-flash-message "Public Key copied!")}}
>
Copy
</CopyButton>
</div>
<div class="control">
<ConfirmAction
@buttonClasses="button"
@confirmMessage="This will remove the CA certificate information."
@onConfirmAction={{action "saveConfig" (hash delete=true)}}
>
Delete
</ConfirmAction>
</div>
</div>
{{else}}
<form onsubmit={{action "saveConfig"}} data-test-ssh-configure-form="true">
<div class="box is-fullwidth is-sideless is-marginless">
<NamespaceReminder @mode="save" @noun="configuration" />
<div class="field">
<label for="privateKey" class="is-label">
Private key
</label>
<div class="control">
<Textarea name="privateKey" id="privateKey" class="input" @value={{@model.privateKey}} />
</div>
</div>
<div class="field">
<label for="publicKey" class="is-label">
Public key
</label>
<div class="control">
<Textarea name="publicKey" id="publicKey" class="input" @value={{@model.publicKey}} />
</div>
</div>
<div class="b-checkbox">
<input
type="checkbox"
id="generateSigningKey"
class="styled"
checked={{@model.generateSigningKey}}
onchange={{action (mut @model.generateSigningKey) value="target.checked"}}
data-test-ssh-input={{this.generateSigningKey}}
/>
<label for="generateSigningKey" class="is-label">
Generate signing key
<InfoTooltip>
Specifies if Vault should generate the signing key pair internally
</InfoTooltip>
</label>
</div>
</div>
<div class="field box is-fullwidth is-bottomless is-marginless">
<div class="control">
<button
type="submit"
class="button is-primary {{if this.loading 'is-loading'}}"
disabled={{this.loading}}
data-test-ssh-input="configure-submit"
>
Save
</button>
</div>
</div>
</form>
{{/if}}