mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-17 20:17:00 +02:00
* UI: plumbing for pki tidy work (#20611) * update tidy model * Dynamic group on tidy based on version * UI: VAULT-16261 PKI autotidy config view (#20641) * UI: VAULT-16203 tidy status page (#20635) * ui: pki tidy form (#20630) * order routes to match tabs * add tidy routes * add tidy-status page component * update routes rename edit to configure, remove manage * add page component to route template * add comment * finish routing * change to queryRecord, delete old tidy file * remove findRecord * fix serializer name * tidy.index only needs controller empty state logic * build form and page components * update tidy model * alphabetize! * revert model changes * finish adapter * move form out of page folder in tests * refactor to accommodate model changes from chelseas pr * WIP tests * reuse shared fields in model * finish tests * update model hook and breadcrumbs * remove subtext for checkbox * fix tests add ACME fields * Update ui/app/adapters/pki/tidy.js * Update ui/app/adapters/pki/tidy.js * refactor intervalDuration using feedback suggested * move errors to second line, inside conditional brackets * add ternary operator to allByKey attr * surface error message * make polling request longer * UI: VAULT-16368 pki tidy custom method (#20696) * ui: adds empty state and updates modal (#20695) * add empty state to status page * update tidy modal * conditionally change cancel transition route for auto tidy form * teeny copy update * organize tidy-status conditoionals * a couple more template cleanups * fix conditional, change to settings * UI: VAULT-16367 VAULT-16378 Tidy acceptance tests + tidy toolbar cleanup (#20698) * update copy * move tidyRevokedCertIssuerAssociations up to applicable section * add tidy info to readme * update copy * UI: Add tidy as a tab to the error route (#20723) * small cleanup items * fix prettier * cancel polling when we leave tidy.index (status view) * revert changes to declaration file * remove space --------- Co-authored-by: Chelsea Shaw <cshaw@hashicorp.com> Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com> Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
80 lines
3.0 KiB
Handlebars
80 lines
3.0 KiB
Handlebars
<hr class="is-marginless has-background-gray-200" />
|
|
|
|
<p class="has-top-margin-m has-bottom-margin-l">Tidying cleans up the storage backend and/or CRL by removing certificates
|
|
that have expired and are past a certain buffer period beyond their expiration time.
|
|
<DocLink @path="/vault/api-docs/secret/pki#{{if (eq @tidyType 'manual') 'tidy' 'configure-automatic-tidy'}}">Learn more</DocLink>
|
|
</p>
|
|
|
|
<MessageError @errorMessage={{this.errorBanner}} class="has-top-margin-s" />
|
|
|
|
<form class="has-bottom-margin-s" {{on "submit" (perform this.save)}} data-test-tidy-form={{@tidyType}}>
|
|
{{#if (and (eq @tidyType "auto") this.intervalDurationAttr)}}
|
|
{{#let this.intervalDurationAttr as |attr|}}
|
|
<TtlPicker
|
|
data-test-input={{attr.name}}
|
|
@onChange={{fn this.handleTtl attr}}
|
|
@label={{attr.options.label}}
|
|
@labelDisabled={{attr.options.labelDisabled}}
|
|
@helperTextDisabled={{attr.options.helperTextDisabled}}
|
|
@helperTextEnabled={{attr.options.helperTextEnabled}}
|
|
@initialEnabled={{get @tidy attr.options.mapToBoolean}}
|
|
@initialValue={{get @tidy attr.name}}
|
|
/>
|
|
{{/let}}
|
|
{{/if}}
|
|
{{#each @tidy.formFieldGroups as |fieldGroup|}}
|
|
{{#each-in fieldGroup as |group fields|}}
|
|
{{#if (or (eq @tidyType "manual") @tidy.enabled)}}
|
|
<h2 class="title is-size-5 has-border-bottom-light page-header" data-test-tidy-header={{group}}>
|
|
{{group}}
|
|
</h2>
|
|
{{#each fields as |attr|}}
|
|
{{#if (eq attr.name "acmeAccountSafetyBuffer")}}
|
|
<TtlPicker
|
|
data-test-input={{attr.name}}
|
|
@onChange={{fn this.handleTtl attr}}
|
|
@label={{attr.options.label}}
|
|
@labelDisabled={{attr.options.labelDisabled}}
|
|
@helperTextDisabled={{attr.options.helperTextDisabled}}
|
|
@helperTextEnabled={{attr.options.helperTextEnabled}}
|
|
@initialEnabled={{get @tidy attr.options.mapToBoolean}}
|
|
@initialValue={{get @tidy attr.name}}
|
|
/>
|
|
{{else}}
|
|
{{! tidyAcme is handled by the ttl above }}
|
|
{{#if (not-eq attr.name "tidyAcme")}}
|
|
<FormField @attr={{attr}} @model={{@tidy}} />
|
|
{{/if}}
|
|
{{/if}}
|
|
{{/each}}
|
|
{{/if}}
|
|
{{/each-in}}
|
|
{{/each}}
|
|
|
|
<hr class="is-marginless has-background-gray-200" />
|
|
|
|
<div class="has-top-margin-m">
|
|
<button
|
|
type="submit"
|
|
class="button is-primary {{if this.save.isRunning 'is-loading'}}"
|
|
disabled={{this.save.isRunning}}
|
|
data-test-pki-tidy-button
|
|
>
|
|
{{if (eq @tidyType "manual") "Perform tidy" "Save"}}
|
|
</button>
|
|
<button
|
|
type="button"
|
|
class="button is-secondary"
|
|
disabled={{this.save.isRunning}}
|
|
{{on "click" @onCancel}}
|
|
data-test-pki-tidy-cancel
|
|
>
|
|
Cancel
|
|
</button>
|
|
{{#if this.invalidFormAlert}}
|
|
<div class="control">
|
|
<AlertInline @type="danger" @paddingTop={{true}} @message={{this.invalidFormAlert}} @mimicRefresh={{true}} />
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
</form> |