mirror of https://github.com/rancher/ui.git
310 lines
8.1 KiB
Handlebars
310 lines
8.1 KiB
Handlebars
<section class="header">
|
|
<div class="pull-left">
|
|
<h1 class="vertical-middle">
|
|
{{t "servicePage.header" name=service.displayName}}
|
|
</h1>
|
|
</div>
|
|
<div class="right-buttons">
|
|
{{badge-state model=service}}
|
|
{{action-menu
|
|
model=service
|
|
showPrimary=false
|
|
classNames="ml-10 pull-right"
|
|
size="sm"
|
|
}}
|
|
</div>
|
|
</section>
|
|
|
|
{{#if service.description}}
|
|
{{banner-message
|
|
color="bg-secondary mb-0 mt-10"
|
|
message=(linkify service.description)
|
|
}}
|
|
{{/if}}
|
|
|
|
{{#if service.showTransitioningMessage}}
|
|
<div class="{{service.stateColor}}">
|
|
<p>{{uc-first service.transitioningMessage}}</p>
|
|
</div>
|
|
{{/if}}
|
|
|
|
<div class="row banner bg-info basics">
|
|
<div class="vertical-middle">
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.multistat.namespace"}}:
|
|
</label>
|
|
{{service.namespace.displayName}}
|
|
</div>
|
|
<div class="vertical-middle">
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.multistat.image"}}:
|
|
</label>
|
|
{{launchConfig.image}} {{copy-to-clipboard clipboardText=launchConfig.image size="small"}}
|
|
</div>
|
|
<div class="vertical-middle">
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.multistat.type"}}:
|
|
</label>
|
|
{{service.displayType}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row banner bg-info basics">
|
|
{{#if (eq service.type "cronJob")}}
|
|
<div class="vertical-middle center">
|
|
<div class="">
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.multistat.cronSchedule"}}:
|
|
</label>
|
|
{{service.cronJobConfig.schedule}}
|
|
{{#if service.cronJobConfig.schedule}}
|
|
<div class="text-muted text-small">
|
|
{{pretty-cron service.cronJobConfig.schedule "toString"}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
<div class="vertical-middle center">
|
|
<div>
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.endpoints"}}:
|
|
</label>
|
|
{{#if service.displayEndpoints}}
|
|
<label class="clip text-small vertical-middle">
|
|
{{service.displayEndpoints}}
|
|
</label>
|
|
{{else}}
|
|
{{t "generic.na"}}
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{#unless (or (eq service.type "job") (eq service.type "cronJob"))}}
|
|
<div class="vertical-middle center">
|
|
<span class="text-left">
|
|
<div class="hr">
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.multistat.scale"}}:
|
|
</label>
|
|
<span class="pr-5">
|
|
{{service.displayScale}}
|
|
</span>
|
|
</div>
|
|
<div>
|
|
<span class="help-block">
|
|
{{t "servicePage.multistat.currentScale" count=service.currentScale}}
|
|
</span>
|
|
</div>
|
|
</span>
|
|
<span>
|
|
<div class="btn-group btn-group-xs p-0 ml-10">
|
|
<button class="btn btn-xs bg-primary" disabled={{not service.canScaleDown}} type="button" {{action "scaleDown"
|
|
target=service}}>
|
|
<i class="icon icon-minus icon-fw" />
|
|
</button>
|
|
<button style="margin-left: -1px;" class="btn btn-xs bg-primary" disabled={{not service.canScaleUp}}
|
|
type="button" {{action "scaleUp" target=service}}>
|
|
<i class="icon icon-plus icon-fw" />
|
|
</button>
|
|
</div>
|
|
</span>
|
|
</div>
|
|
{{/unless}}
|
|
<div class="vertical-middle center">
|
|
<div class="">
|
|
<label class="acc-label vertical-middle p-0">
|
|
{{t "servicePage.multistat.created"}}:
|
|
</label>
|
|
{{date-calendar service.created}}
|
|
<div class="text-muted text-small">
|
|
{{t "generic.podRestarts"}}: {{service.restarts}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{#accordion-list as |al expandFn|}}
|
|
{{accordion-pod
|
|
pods=service.pods
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
|
|
{{#if scope.currentCluster.isMonitoringReady}}
|
|
{{#metrics-summary
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
grafanaUrl=service.grafanaUrl
|
|
title=(t "metricsAction.sections.workload")
|
|
}}
|
|
{{workload-metrics resourceId=service.id}}
|
|
{{/metrics-summary}}
|
|
{{/if}}
|
|
|
|
{{resource-event-list
|
|
resourceType=service.displayType
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
namespaceId=service.namespaceId
|
|
name=service.name
|
|
kind=service.type
|
|
}}
|
|
|
|
{{#if (or (eq service.type "job") (eq service.type "cronJob"))}}
|
|
{{container/form-job-config
|
|
workload=service
|
|
scaleMode=service.type
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
{{/if}}
|
|
|
|
{{#if service.canHaveEnvironment}}
|
|
{{#accordion-list-item
|
|
title=(t "formEnvVar.title")
|
|
detail=(t "formEnvVar.detail")
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
{{form-env-var
|
|
model=displayEnvironmentVars
|
|
}}
|
|
<hr class="mt-30 mb-30" />
|
|
{{container/form-sources
|
|
namespace=service.namespace
|
|
sources=launchConfig.environmentFrom
|
|
editing=false
|
|
}}
|
|
{{/accordion-list-item}}
|
|
{{/if}}
|
|
|
|
{{#accordion-list-item
|
|
title=(t "containerPage.portsTab.header")
|
|
detail=(t "containerPage.portsTab.detail")
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
{{container/form-ports
|
|
initialPorts=service.launchConfig.ports
|
|
editing=false
|
|
}}
|
|
{{/accordion-list-item}}
|
|
|
|
{{container/form-scheduling
|
|
initialHostId=model.workload.scheduling.node.nodeId
|
|
service=service
|
|
scheduling=service.scheduling
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
classNames="accordion"
|
|
}}
|
|
|
|
{{#if service.canHaveHealthCheck}}
|
|
{{#accordion-list-item
|
|
title=(t "formHealthCheck.title")
|
|
detail=(t "formHealthCheck.detail")
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6 mt-0 mb-0">
|
|
<label class="acc-label">
|
|
{{t "formHealthCheck.readiness"}}
|
|
</label>
|
|
</div>
|
|
<div class="col span-6 mt-0 mb-0">
|
|
{{#if service.launchConfig.livenessProbe}}
|
|
<label class="acc-label">
|
|
{{t "formHealthCheck.liveness"}}
|
|
</label>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col {{if service.launchConfig.livenessProbe " span-6" "span-12" }}">
|
|
{{form-healthcheck
|
|
initialCheck=service.launchConfig.readinessProbe
|
|
editing=false
|
|
}}
|
|
</div>
|
|
{{#if service.launchConfig.livenessProbe}}
|
|
<div class="col span-6">
|
|
{{form-healthcheck
|
|
initialCheck=service.launchConfig.livenessProbe
|
|
editing=false
|
|
isLiveness=true
|
|
}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
{{/if}}
|
|
|
|
{{container/form-upgrade
|
|
workload=service
|
|
scaleMode=service.type
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
|
|
{{container/form-volumes
|
|
launchConfig=launchConfig
|
|
workload=service
|
|
namespace=service.namespace
|
|
loggingEnabled=true
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
|
|
{{container/form-command
|
|
tagName=""
|
|
instance=launchConfig
|
|
service=model.workload
|
|
initialLabels=launchConfig.labels
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
|
|
{{container/form-networking
|
|
classNames="accordion-wrapper"
|
|
instance=launchConfig
|
|
service=service
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
|
|
{{form-labels-annotations
|
|
classNames="accordion-wrapper"
|
|
model=service
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
|
|
{{#if service.canChangeSecurity}}
|
|
{{container/form-security
|
|
instance=launchConfig
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
{{/if}}
|
|
|
|
{{#if (or (and scope.currentProject.isSystemProject scope.currentCluster.enableClusterMonitoring) scope.currentProject.enableProjectMonitoring)}}
|
|
{{container/form-custom-metrics
|
|
classNames="accordion-wrapper"
|
|
workload=service
|
|
editing=false
|
|
expandAll=al.expandAll
|
|
expandFn=expandFn
|
|
}}
|
|
{{/if}}
|
|
|
|
{{/accordion-list}}
|