@@ -27,7 +27,7 @@ import { createDayString } from "utils/createDayString";
27
27
import { docs } from "utils/docs" ;
28
28
import { ProvisionerTag } from "./ProvisionerTag" ;
29
29
30
- type ProvisionerGroupType = "builtin" | "psk" | "key" ;
30
+ type ProvisionerGroupType = "builtin" | "userAuth" | " psk" | "key" ;
31
31
32
32
interface ProvisionerGroupProps {
33
33
readonly buildInfo : BuildInfoResponse ;
@@ -62,7 +62,6 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
62
62
return null ;
63
63
}
64
64
65
- const daemonScope = firstProvisioner . tags . scope || "organization" ;
66
65
const allProvisionersAreSameVersion = provisioners . every (
67
66
( it ) => it . version === firstProvisioner . version ,
68
67
) ;
@@ -73,9 +72,6 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
73
72
provisioners . length === 1
74
73
? "1 provisioner"
75
74
: `${ provisioners . length } provisioners` ;
76
- const extraTags = Object . entries ( keyTags ) . filter (
77
- ( [ key ] ) => key !== "scope" && key !== "owner" ,
78
- ) ;
79
75
80
76
let warnings = 0 ;
81
77
let provisionersWithWarnings = 0 ;
@@ -102,9 +98,6 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
102
98
? "1 provisioner"
103
99
: `${ provisionersWithWarnings } provisioners` ;
104
100
105
- const hasMultipleTagVariants =
106
- type === "psk" && provisioners . some ( ( it ) => ! isSimpleTagSet ( it . tags ) ) ;
107
-
108
101
return (
109
102
< div
110
103
css = { [
@@ -142,6 +135,7 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
142
135
</ span >
143
136
</ >
144
137
) }
138
+ { type === "userAuth" && < UserAuthProvisionerTitle /> }
145
139
146
140
{ type === "psk" && < PskProvisionerTitle /> }
147
141
{ type === "key" && (
@@ -168,28 +162,8 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
168
162
justifyContent : "right" ,
169
163
} }
170
164
>
171
- { ! hasMultipleTagVariants ? (
172
- < Tooltip title = "Scope" >
173
- < Pill
174
- size = "lg"
175
- icon = {
176
- daemonScope === "organization" ? (
177
- < BusinessIcon />
178
- ) : (
179
- < PersonIcon />
180
- )
181
- }
182
- >
183
- < span css = { { textTransform : "capitalize" } } > { daemonScope } </ span >
184
- </ Pill >
185
- </ Tooltip >
186
- ) : (
187
- < Pill size = "lg" icon = { < TagIcon /> } >
188
- Multiple tags
189
- </ Pill >
190
- ) }
191
165
{ type === "key" &&
192
- extraTags . map ( ( [ key , value ] ) => (
166
+ Object . entries ( keyTags ) . map ( ( [ key , value ] ) => (
193
167
< ProvisionerTag key = { key } tagName = { key } tagValue = { value } />
194
168
) ) }
195
169
</ div >
@@ -248,9 +222,7 @@ export const ProvisionerGroup: FC<ProvisionerGroupProps> = ({
248
222
) }
249
223
</ span >
250
224
</ div >
251
- { hasMultipleTagVariants && (
252
- < PskProvisionerTags tags = { provisioner . tags } />
253
- ) }
225
+ < PskProvisionerTags tags = { provisioner . tags } />
254
226
</ Stack >
255
227
</ div >
256
228
) ) }
@@ -413,6 +385,27 @@ const BuiltinProvisionerTitle: FC = () => {
413
385
) ;
414
386
} ;
415
387
388
+ const UserAuthProvisionerTitle : FC = ( ) => {
389
+ return (
390
+ < h4 css = { styles . groupTitle } >
391
+ < Stack direction = "row" alignItems = "end" spacing = { 1 } >
392
+ < span > User provisioners</ span >
393
+ < HelpTooltip >
394
+ < HelpTooltipTrigger />
395
+ < HelpTooltipContent >
396
+ < HelpTooltipTitle > User provisioners</ HelpTooltipTitle >
397
+ < HelpTooltipText >
398
+ These provisioners all use user session authentication. User
399
+ provisioners can be scoped to the user or organization.{ " " }
400
+ < Link href = { docs ( "/" ) } > Learn more…</ Link >
401
+ </ HelpTooltipText >
402
+ </ HelpTooltipContent >
403
+ </ HelpTooltip >
404
+ </ Stack >
405
+ </ h4 >
406
+ ) ;
407
+ } ;
408
+
416
409
const PskProvisionerTitle : FC = ( ) => {
417
410
return (
418
411
< h4 css = { styles . groupTitle } >
0 commit comments