mirror of
https://github.com/hashicorp/vault.git
synced 2026-05-05 12:26:34 +02:00
* fill guided start content * move namespace logic into page component * add page component tests for namespace wizard * add tree chart and changelog, update state management * fix failing page usage test * add back in breadcrumb update lost in merge conflict resolution across files * fix test * update terraform template function usage * Update ui/app/components/wizard/namespaces/step-3.hbs * formatting and fixes * revert usage page changes * move snippet generators into util and update code snippet initialization * update test namespace page args * move namespace wizard logic into its own component * fix nested namespace creation via api and cli code snippets * test update * nested namespace terraform snippet * remove outdated comment * test clean up and hide wizard in CE --------- Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com> Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
77 lines
2.9 KiB
Handlebars
77 lines
2.9 KiB
Handlebars
{{!
|
|
Copyright IBM Corp. 2016, 2025
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
}}
|
|
|
|
<Hds::Layout::Grid @columnWidth="50%" @gap="16" as |LG|>
|
|
<LG.Item>
|
|
<Hds::Text::Display @tag="h2" @size="400" @weight="bold" class="has-bottom-padding-m">
|
|
What best describes your access policy between teams and applications?
|
|
</Hds::Text::Display>
|
|
|
|
<Hds::Form::Radio::Group @name="security-policy" as |G|>
|
|
<G.RadioField
|
|
checked={{eq @wizardState.securityPolicyChoice this.policy.FLEXIBLE}}
|
|
{{on "change" (fn @updateWizardState "securityPolicyChoice" this.policy.FLEXIBLE)}}
|
|
data-test-radio="flexible"
|
|
as |F|
|
|
>
|
|
<F.Label>
|
|
<Hds::Text::Body @tag="p">
|
|
<strong>Flexible/shared access:</strong>
|
|
our teams are generally allowed to access secrets across different business units and applications.
|
|
</Hds::Text::Body>
|
|
</F.Label>
|
|
</G.RadioField>
|
|
<G.RadioField
|
|
checked={{eq @wizardState.securityPolicyChoice this.policy.STRICT}}
|
|
{{on "change" (fn @updateWizardState "securityPolicyChoice" this.policy.STRICT)}}
|
|
data-test-radio="strict"
|
|
as |F|
|
|
>
|
|
<F.Label>
|
|
<Hds::Text::Body @tag="p">
|
|
<strong>Strict isolation required:</strong>
|
|
our policy mandates hard boundaries (separate ownership and access) between major teams, business units, or
|
|
applications.
|
|
</Hds::Text::Body>
|
|
</F.Label>
|
|
</G.RadioField>
|
|
</Hds::Form::Radio::Group>
|
|
</LG.Item>
|
|
|
|
{{#if @wizardState.securityPolicyChoice}}
|
|
<LG.Item>
|
|
<Hds::Text::Display @tag="h2" @size="400" @weight="bold" class="has-bottom-padding-m">Your recommended setup</Hds::Text::Display>
|
|
<Hds::Card::Container @background="neutral-secondary" @hasBorder={{true}} class="has-padding-m">
|
|
<Hds::Text::Display @tag="h3" @size="200" class="has-bottom-padding-m">{{this.cardInfo.title}}</Hds::Text::Display>
|
|
<Hds::Text::Body @tag="p">{{this.cardInfo.description}}</Hds::Text::Body>
|
|
|
|
{{#if this.cardInfo.diagram}}
|
|
<img src={{img-path this.cardInfo.diagram}} alt="Namespace hierarchy example" />
|
|
{{/if}}
|
|
|
|
<div class="is-flex-center has-top-padding-m">
|
|
<Hds::Icon @name="check" @color="success" />
|
|
<Hds::Text::Body class="has-left-margin-xs"><strong>Best for:</strong></Hds::Text::Body>
|
|
</div>
|
|
<ul class="bullet">
|
|
{{#each this.cardInfo.bestFor as |item|}}
|
|
<li>{{item}}</li>
|
|
{{/each}}
|
|
</ul>
|
|
|
|
<div class="is-flex-center has-top-padding-m">
|
|
<Hds::Icon @name="x" @color="critical" />
|
|
<Hds::Text::Body class="has-left-margin-xs"><strong>Avoid if:</strong></Hds::Text::Body>
|
|
</div>
|
|
|
|
<ul class="bullet">
|
|
{{#each this.cardInfo.avoidIf as |item|}}
|
|
<li>{{item}}</li>
|
|
{{/each}}
|
|
</ul>
|
|
</Hds::Card::Container>
|
|
</LG.Item>
|
|
{{/if}}
|
|
</Hds::Layout::Grid> |