-
Notifications
You must be signed in to change notification settings - Fork 231
/
Copy pathroute.html
203 lines (202 loc) · 10.7 KB
/
route.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<project-header class="top-header"></project-header>
<project-page>
<!-- Middle section -->
<div class="middle-section">
<div class="middle-container">
<div class="middle-header">
<div class="container-fluid">
<breadcrumbs breadcrumbs="breadcrumbs"></breadcrumbs>
<alerts alerts="alerts"></alerts>
<div ng-if="!loaded" class="mar-top-xl">Loading...</div>
<div ng-if="route">
<h1 class="contains-actions">
<div class="pull-right dropdown" ng-hide="!('routes' | canIDoAny)">
<button type="button" class="dropdown-toggle btn btn-default actions-dropdown-btn hidden-xs" data-toggle="dropdown">
Actions
<span class="caret" aria-hidden="true"></span>
</button>
<a href=""
class="dropdown-toggle actions-dropdown-kebab visible-xs-inline"
data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i><span class="sr-only">Actions</span></a>
<ul class="dropdown-menu actions action-button">
<li ng-if="'routes' | canI : 'update'">
<a ng-href="{{route | editResourceURL}}" role="button">Edit</a>
</li>
<li ng-if="'routes' | canI : 'update'">
<a ng-href="{{route | editYamlURL}}" role="button">Edit YAML</a>
</li>
<li ng-if="'routes' | canI : 'delete'">
<delete-link
kind="Route"
resource-name="{{route.metadata.name}}"
project-name="{{route.metadata.namespace}}"
alerts="alerts">
</delete-link>
</li>
</ul>
</div>
{{route.metadata.name}}
<route-warnings ng-if="route.spec.to.kind !== 'Service' || services"
route="route"
service="services[route.spec.to.name]">
</route-warnings>
<small class="meta">created <span am-time-ago="route.metadata.creationTimestamp"></span></small>
</h1>
<labels labels="route.metadata.labels" clickable="true" kind="routes" project-name="{{route.metadata.namespace}}" limit="3"></labels>
</div>
</div>
</div><!-- /middle-header-->
<div class="middle-content">
<div class="container-fluid">
<div class="row" ng-if="route">
<div class="col-sm-12">
<div class="resource-details">
<dl class="dl-horizontal left">
<dt>Hostname<span ng-if="route.status.ingress.length > 1">s</span>:</dt>
<dd>
<span ng-if="!route.status.ingress">
{{route | routeLabel : null : true}}
<span data-toggle="popover" data-trigger="hover" data-content="The route is not accepting traffic yet because it has not been admitted by a router." style="cursor: help; padding-left: 5px;">
<status-icon status="'Pending'"></status-icon>
<span class="sr-only">Pending</span>
</span>
</span>
<div ng-repeat="ingress in route.status.ingress">
<span ng-if="(route | isWebRoute)">
<a ng-href="{{route | routeWebURL : ingress.host}}" target="_blank">{{route | routeLabel : ingress.host : true}}</a>
</span>
<span ng-if="!(route | isWebRoute)">
{{route | routeLabel : ingress.host}}
</span>
–
<span ng-init="admittedCondition = (ingress | routeIngressCondition : 'Admitted')">
<span ng-if="!admittedCondition">admission status unknown for router '{{ingress.routerName}}'</span>
<span ng-if="admittedCondition.status === 'True'">
exposed on router '{{ingress.routerName}}' <span am-time-ago="admittedCondition.lastTransitionTime"></span>
</span>
<span ng-if="admittedCondition.status === 'False'">
rejected by router '{{ingress.routerName}}' <span am-time-ago="admittedCondition.lastTransitionTime"></span>
</span>
</span>
</div>
</dd>
<dt ng-if-start="route.spec.wildcardPolicy && route.spec.wildcardPolicy !== 'None' && route.spec.wildcardPolicy !== 'Subdomain'">Wildcard Policy:</dt>
<dd ng-if-end>{{route.spec.wildcardPolicy}}</dd>
<dt>Path:</dt>
<dd>
<span ng-if="route.spec.path">{{route.spec.path}}</span>
<span ng-if="!route.spec.path"><em>none</em></span>
</dd>
<dt>{{route.spec.to.kind || "Routes To"}}:</dt>
<dd>
<a ng-href="{{route.spec.to.name | navigateResourceURL : route.spec.to.kind : route.metadata.namespace}}">{{route.spec.to.name}}</a>
</dd>
<dt>Target Port:</dt>
<dd>
<span ng-if="route.spec.port.targetPort">
{{route.spec.port.targetPort}}
</span>
<span ng-if="!route.spec.port.targetPort"><em>any</em></span>
</dd>
<div ng-if="route.spec.port.targetPort && route.spec.to.kind === 'Service' && (route | routeTargetPortMapping : services[route.spec.to.name])" class="help-block">
This target port will route to {{route | routeTargetPortMapping : services[route.spec.to.name]}}.
</div>
</dl>
<div ng-if="route.spec.alternateBackends.length" class="row">
<div class="col-sm-12 mar-bottom-lg">
<h4>Traffic</h4>
<div class="help-block">
This route splits traffic across multiple services.
</div>
</div>
<div class="col-sm-5 col-sm-push-7 mar-bottom-lg">
<route-service-pie route="route"></route-service-pie>
</div>
<div class="col-sm-7 col-sm-pull-5">
<table class="table table-bordered">
<thead>
<tr>
<th>Service</th>
<th>Weight</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a ng-href="{{route.spec.to.name | navigateResourceURL : route.spec.to.kind : route.metadata.namespace}}">{{route.spec.to.name}}</a>
</td>
<td>
{{route.spec.to.weight}}
</td>
</tr>
<tr ng-repeat="alternate in route.spec.alternateBackends">
<td>
<a ng-href="{{alternate.name | navigateResourceURL : alternate.kind : route.metadata.namespace}}">{{alternate.name}}</a>
</td>
<td>
{{alternate.weight}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin-bottom: 10px;">
<h4>TLS Settings</h4>
<dl class="dl-horizontal left" ng-if="route.spec.tls">
<dt>Termination Type:</dt>
<dd>{{route.spec.tls.termination | humanizeTLSTermination}}</dd>
<dt ng-if-start="route.spec.tls.termination === 'edge'">Insecure Traffic:</dt>
<dd ng-if-end>{{route.spec.tls.insecureEdgeTerminationPolicy || 'None'}}</dd>
<dt>Certificate:</dt>
<dd>
<span ng-show="route.spec.tls.certificate && !reveal.certificate">
<a href="" ng-click="reveal.certificate = true">Show</a>
</span>
<span ng-if="!route.spec.tls.certificate"><em>none</em></span>
</dd>
<div ng-if="reveal.certificate">
<pre class="clipped">{{route.spec.tls.certificate}}</pre>
</div>
<dt>Key:</dt>
<dd>
<span ng-if="route.spec.tls.key && !reveal.key">
<a href="" ng-click="reveal.key = true">Show</a>
</span>
<span ng-if="!route.spec.tls.key"><em>none</em></span>
</dd>
<div ng-if="reveal.key">
<pre class="clipped">{{route.spec.tls.key}}</pre>
</div>
<dt>CA Certificate:</dt>
<dd>
<span ng-show="route.spec.tls.caCertificate && !reveal.caCertificate">
<a href="" ng-click="reveal.caCertificate = true">Show</a>
</span>
<span ng-if="!route.spec.tls.caCertificate"><em>none</em></span>
</dd>
<div ng-if="reveal.caCertificate">
<pre class="clipped">{{route.spec.tls.caCertificate}}</pre>
</div>
<dt>Destination CA Cert:</dt>
<dd>
<span ng-show="route.spec.tls.destinationCACertificate && !reveal.destinationCACertificate">
<a href="" ng-click="reveal.destinationCACertificate = true">Show</a>
</span>
<span ng-if="!route.spec.tls.destinationCACertificate"><em>none</em></span>
</dd>
<div ng-if="reveal.destinationCACertificate">
<pre class="clipped">{{route.spec.tls.destinationCACertificate}}</pre>
</div>
</dl>
<div ng-if="!route.spec.tls"><em>TLS is not enabled for this route</em></div>
</div>
<annotations annotations="route.metadata.annotations"></annotations>
</div>
</div><!-- /col-* -->
</div>
</div>
</div><!-- /middle-content -->
</div><!-- /middle-container -->
</div><!-- /middle-section -->
</project-page>