mirror of https://github.com/rancher/ui.git
426 lines
13 KiB
Handlebars
426 lines
13 KiB
Handlebars
<div class="box mb-10">
|
|
{{#if (and editing)}}
|
|
<div class="row">
|
|
<div class="pull-right">
|
|
<button
|
|
class="btn bg-transparent text-small vertical-middle" type="button" {{action "removeRoute" route}}
|
|
>
|
|
{{t "cruVirtualService.http.routes.removeRouteLabel"}}
|
|
</button>
|
|
</div>
|
|
|
|
{{#unless isFirst}}
|
|
<div class="pull-right">
|
|
<button
|
|
class="btn bg-transparent text-small vertical-middle" type="button" {{action "moveUpRoute" route}}
|
|
>
|
|
{{t "cruVirtualService.http.routes.moveUp"}}
|
|
</button>
|
|
</div>
|
|
{{/unless}}
|
|
|
|
{{#unless isLast}}
|
|
<div class="pull-right">
|
|
<button
|
|
class="btn bg-transparent text-small vertical-middle" type="button" {{action "moveDownRoute" route}}
|
|
>
|
|
{{t "cruVirtualService.http.routes.moveDown"}}
|
|
</button>
|
|
</div>
|
|
{{/unless}}
|
|
</div>
|
|
{{/if}}
|
|
|
|
<div class="checkbox pt-10">
|
|
{{#if editing}}
|
|
<label class="no-select">
|
|
{{input type="checkbox" checked=showMatch}}
|
|
{{t "cruVirtualService.http.routes.matches.showMatch"}}
|
|
</label>
|
|
{{/if}}
|
|
{{#if (and editing showMatch)}}
|
|
<div class="inline-block">
|
|
<button
|
|
class="pt-0 pb-0 btn bg-transparent text-small vertical-middle" type="button" {{action "addMatch"}}
|
|
>
|
|
{{t "cruVirtualService.http.routes.matches.addLabel"}}
|
|
</button>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#if showMatch}}
|
|
{{#each route.match as |match|}}
|
|
{{http-route-match
|
|
model=match
|
|
editing=editing
|
|
removeMatch=(action "removeMatch")
|
|
}}
|
|
{{else}}
|
|
<div class="row text-center mt-20 mb-20 pt-10">
|
|
<span class="text-muted">
|
|
{{t "cruVirtualService.http.routes.matches.noData"}}
|
|
</span>
|
|
</div>
|
|
{{/each}}
|
|
{{/if}}
|
|
|
|
{{http-route-destination
|
|
namespace=namespace
|
|
httpRouteDestinations=httpRouteDestinations
|
|
hosts=hosts
|
|
route=route
|
|
isNew=isNew
|
|
editing=editing
|
|
}}
|
|
|
|
{{#advanced-section advanced=advanced}}
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.redirect.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-redirect-uri"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.redirect.uri.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.redirect.uri
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-redirect-uri")
|
|
value=route.redirect.uri
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.redirect.uri.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-redirect-authority"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.redirect.authority.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.redirect.authority
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-redirect-authority")
|
|
value=route.redirect.authority
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.redirect.authority.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.rewrite.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-rewrite-uri"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.rewrite.uri.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.rewrite.uri
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-rewrite-uri")
|
|
value=route.rewrite.uri
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.rewrite.uri.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-rewrite-authority"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.rewrite.authority.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.rewrite.authority
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-rewrite-authority")
|
|
value=route.rewrite.authority
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.rewrite.authority.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.timeout.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-timeout"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.timeout.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.timeout
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-timeout")
|
|
value=route.timeout
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.timeout.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.retries.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-retries-attempts"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.retries.attempts.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.retries.attempts
|
|
}}
|
|
{{input-integer
|
|
min=0
|
|
id=(concat elementId "-input-retries-attempts")
|
|
value=route.retries.attempts
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.retries.attempts.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-retries-perTryTimeout"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.retries.perTryTimeout.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.retries.perTryTimeout
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-retries-perTryTimeout")
|
|
value=route.retries.perTryTimeout
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.retries.perTryTimeout.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.faultInjection.abort.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-faultInjection-abort-httpStatus"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.faultInjection.abort.httpStatus.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.fault.abort.httpStatus
|
|
}}
|
|
{{input-integer
|
|
id=(concat elementId "-input-faultInjection-abort-httpStatus")
|
|
value=route.fault.abort.httpStatus
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.faultInjection.abort.httpStatus.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-faultInjection-abort-percent"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.faultInjection.abort.percent.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.fault.abort.percent
|
|
}}
|
|
<div class="input-group">
|
|
{{input-integer
|
|
classNames="form-control"
|
|
min="0"
|
|
max="100"
|
|
id=(concat elementId "-input-faultInjection-abort-percent")
|
|
value=route.fault.abort.percent
|
|
placeholder=(t "cruVirtualService.http.routes.faultInjection.abort.percent.placeholder")
|
|
}}
|
|
<div class="input-group-addon bg-default">
|
|
%
|
|
</div>
|
|
</div>
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.faultInjection.delay.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-faultInjection-delay-fixedDelay"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.faultInjection.delay.fixedDelay.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.fault.delay.fixedDelay
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-faultInjection-delay-fixedDelay")
|
|
value=route.fault.delay.fixedDelay
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.faultInjection.delay.fixedDelay.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-faultInjection-delay-percent"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.faultInjection.delay.percent.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.fault.delay.percent
|
|
}}
|
|
<div class="input-group">
|
|
{{input-integer
|
|
classNames="form-control"
|
|
min="0"
|
|
max="100"
|
|
id=(concat elementId "-input-faultInjection-delay-percent")
|
|
value=route.fault.delay.percent
|
|
placeholder=(t "cruVirtualService.http.routes.faultInjection.delay.percent.placeholder")
|
|
}}
|
|
<div class="input-group-addon bg-default">
|
|
%
|
|
</div>
|
|
</div>
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-20"/>
|
|
|
|
<label class="acc-label pb-5">
|
|
<span class="text-black">
|
|
{{t "cruVirtualService.http.routes.mirror.label"}}
|
|
</span>
|
|
</label>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-mirror-host"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.mirror.host.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.mirror.host
|
|
}}
|
|
{{istio-host-select
|
|
namespaceId=namespace.id
|
|
value=route.mirror.host
|
|
showLabel=false
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label
|
|
class="acc-label"
|
|
for="{{concat elementId "-input-mirror-subset"}}"
|
|
>
|
|
{{t "cruVirtualService.http.routes.mirror.subset.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=editing
|
|
value=route.mirror.subset
|
|
}}
|
|
{{input
|
|
type="text"
|
|
id=(concat elementId "-input-mirror-subset")
|
|
value=route.mirror.subset
|
|
classNames="form-control"
|
|
placeholder=(t "cruVirtualService.http.routes.mirror.subset.placeholder")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
{{port-selector
|
|
editing=editing
|
|
model=route.mirror
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/advanced-section}}
|
|
</div>
|