-
Notifications
You must be signed in to change notification settings - Fork 231
/
Copy pathimagestream.html
149 lines (146 loc) · 8.64 KB
/
imagestream.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
<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="!imageStream" class="mar-top-xl">Loading...</div>
<div ng-if="imageStream">
<h1 class="contains-actions">
<div class="pull-right dropdown" ng-hide="!('imageStreams' | 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="'imagestreams' | canI : 'update'">
<a ng-href="{{imageStream | editYamlURL}}" role="button">Edit YAML</a>
</li>
<li ng-if="'imagestreams' | canI : 'delete'">
<delete-link
kind="ImageStream"
resource-name="{{imageStream.metadata.name}}"
project-name="{{imageStream.metadata.namespace}}"
alerts="alerts">
</delete-link>
</li>
</ul>
</div>
{{imageStream.metadata.name}}
<small class="meta">created <span am-time-ago="imageStream.metadata.creationTimestamp"></span></small>
</h1>
<labels labels="imageStream.metadata.labels" clickable="true" kind="images" project-name="{{imageStream.metadata.namespace}}" limit="3"></labels>
</div>
</div>
</div><!-- /middle-header-->
<div class="middle-content">
<div class="container-fluid">
<div class="row" ng-if="imageStream">
<div class="col-md-12">
<div class="resource-details">
<dl class="dl-horizontal left">
<dt ng-if-start="imageStream.spec.dockerImageRepository">Follows docker repo:</dt>
<dd ng-if-end>{{imageStream.spec.dockerImageRepository}}</dd>
<dt>Docker pull spec:</dt>
<dd>{{imageStream.status.dockerImageRepository}}</dd>
</dl>
<annotations annotations="imageStream.metadata.annotations"></annotations>
</div>
<table class="table table-bordered table-hover table-mobile mar-top-xl">
<thead>
<tr>
<th>Tag</th>
<th>From</th>
<th>Latest Image</th>
<th>Created</th>
<th>Pull Spec</th>
</tr>
</thead>
<tbody ng-if="(tagsByName | hashSize) == 0">
<tr><td colspan="5"><em>{{emptyMessage}}</em></td></tr>
</tbody>
<tbody ng-if="(tagsByName | hashSize) > 0">
<tr ng-repeat="tag in tagsByName | orderBy : 'name'">
<td data-title="Tag"><a href="{{imageStream | navigateResourceURL}}/{{tag.name}}">{{tag.name}}</a></td>
<td data-title="From">
<!-- this value can get long when its an ImageStreamImage. Use max width and class truncate to elide some
of the SHA1 for long values. They can still be copied even when elided. -->
<span ng-if="!tag.spec.from"><em>pushed</em></span>
<div ng-if="tag.spec.from" ng-attr-title="{{tag.spec.from.name}}" class="td-long-string">
<span ng-if="!tag.spec.from._imageStreamName">
{{tag.spec.from.name}}
</span>
<span ng-if="tag.spec.from._imageStreamName">
<span ng-if="tag.spec.from._imageStreamName === imageStream.metadata.name">{{tag.spec.from._completeName}}</span>
<span ng-if="tag.spec.from._imageStreamName !== imageStream.metadata.name" >
<a ng-href="{{tag.spec.from._imageStreamName | navigateResourceURL : 'ImageStream' : (tag.spec.from.namespace || imageStream.metadata.namespace)}}"><span ng-if="tag.spec.from.namespace && tag.spec.from.namespace !== imageStream.metadata.namespace" >{{tag.spec.from.namespace}}/</span>{{tag.spec.from._imageStreamName}}</a>{{tag.spec.from._nameConnector}}{{tag.spec.from._idOrTag}}
</span>
</span>
</div>
</td>
<td data-title="Latest Image">
<div ng-if="!tag.status">
<div ng-if="imageStream | annotation : 'openshift.io/image.dockerRepositoryCheck'">
<span class="pficon pficon-warning-triangle-o" style="margin-right: 5px;"
ng-attr-title="{{imageStream | annotation : 'openshift.io/image.dockerRepositoryCheck'}}"></span>
<span>Unable to resolve</span>
</div>
<div ng-if="!(imageStream | annotation : 'openshift.io/image.dockerRepositoryCheck')">
<span ng-if="!tag.spec.from">Not yet synced</span>
<!-- We have no idea why in this case -->
<span ng-if="tag.spec.from">Unresolved</span>
</div>
</div>
<div ng-if="tag.status">
<span ng-if="tag.status.items.length && tag.status.items[0].image" class="nowrap">
<short-id id="{{tag.status.items[0].image | imageName}}"></short-id>
<a href="" ng-if="tag.status.items.length > 1" ng-click="tagShowOlder[tag.name] = !tagShowOlder[tag.name]" ng-attr-title="{{tagShowOlder[tag.name] ? 'Hide Older Images' : 'Show Older Images'}}"><span class="fa fa-clock-o"></span><span class="fa fa-caret-up" ng-if="tagShowOlder[tag.name]" style="margin-left: 3px;"></span></a>
</span>
<span ng-if="!tag.status.items.length"><em>none</em></span>
</div>
</td>
<td data-title="Created">
<span ng-if="tag.status.items.length && tag.status.items[0].image">
<span am-time-ago="tag.status.items[0].created"></span>
</span>
</td>
<td data-title="Pull Spec">
<!-- dockerImageReference values can get long. Use max width and class truncate to elide some of the SHA1 for long values.
They can still be copied even when elided. -->
<div ng-if="tag.status.items.length && tag.status.items[0].dockerImageReference">
<div ng-attr-title="{{tag.status.items[0].dockerImageReference}}" class="td-long-string">
{{tag.status.items[0].dockerImageReference}}
</div>
</div>
</td>
</tr>
<tr ng-repeat="item in tag.status.items" ng-if="tagShowOlder[tag.name] && !$first && item.image">
<td data-title="Tag"><span class="hidden-xs"> </span><span class="visible-xs">{{tag.name}}</span></td>
<td class="hidden-xs"> </td>
<td data-title="Older Image">
<short-id id="{{item.image | imageName}}"></short-id>
</td>
<td data-title="Created">
<span am-time-ago="item.created"></span>
</td>
<td data-title="Pull Spec">
<div ng-if="item.dockerImageReference" ng-attr-title="{{item.dockerImageReference}}" class="td-long-string">
{{item.dockerImageReference}}
</div>
</td>
</tr>
</tbody>
</table>
</div><!-- /col-* -->
</div>
</div>
</div><!-- /middle-content -->
</div><!-- /middle-container -->
</div><!-- /middle-section -->
</project-page>