@rancher/shell 3.0.2-rc.5 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/images/providers/nutanix.svg +12 -1
- package/assets/styles/base/_basic.scss +2 -1
- package/assets/styles/base/_helpers.scss +4 -0
- package/assets/styles/base/_variables.scss +2 -0
- package/assets/styles/global/_labeled-input.scss +5 -13
- package/assets/styles/global/_layout.scss +4 -1
- package/assets/styles/global/_select.scss +5 -0
- package/assets/styles/themes/_dark.scss +1 -3
- package/assets/styles/themes/_light.scss +5 -1
- package/assets/translations/en-us.yaml +130 -23
- package/assets/translations/zh-hans.yaml +0 -3
- package/cloud-credential/azure.vue +1 -1
- package/components/ActionMenuShell.vue +105 -0
- package/components/AppModal.vue +2 -2
- package/components/AsyncButton.vue +2 -0
- package/components/ButtonGroup.vue +9 -2
- package/components/ClusterBadge.vue +1 -0
- package/components/ClusterIconMenu.vue +3 -0
- package/components/ClusterProviderIcon.vue +14 -1
- package/components/CodeMirror.vue +96 -5
- package/components/Collapse.vue +16 -3
- package/components/CruResource.vue +9 -0
- package/components/CruResourceFooter.vue +1 -1
- package/components/ExplorerMembers.vue +2 -1
- package/components/FixedBanner.vue +19 -12
- package/components/Import.vue +14 -1
- package/components/LandingPagePreference.vue +4 -2
- package/components/PodSecurityAdmission.vue +8 -6
- package/components/PromptChangePassword.vue +1 -0
- package/components/PromptRemove.vue +23 -21
- package/components/ResourceDetail/Masthead.vue +30 -11
- package/components/ResourceDetail/__tests__/Masthead.test.ts +61 -0
- package/components/ResourceDetail/index.vue +6 -0
- package/components/ResourceTable.vue +6 -1
- package/components/ResourceYaml.vue +1 -0
- package/components/Setting.vue +115 -0
- package/components/SortableTable/THead.vue +2 -0
- package/components/SortableTable/index.vue +7 -12
- package/components/StatusBadge.vue +71 -0
- package/components/Tabbed/index.vue +16 -15
- package/components/Wizard.vue +108 -104
- package/components/YamlEditor.vue +12 -2
- package/components/__tests__/Collapse.test.ts +2 -2
- package/components/__tests__/FixedBanner.test.ts +3 -3
- package/components/auth/Principal.vue +29 -17
- package/components/auth/__tests__/Principal.test.ts +40 -0
- package/components/auth/login/ldap.vue +7 -0
- package/components/fleet/FleetBundles.vue +1 -1
- package/components/fleet/FleetRepos.vue +1 -1
- package/components/fleet/FleetResources.vue +0 -2
- package/components/fleet/FleetSummary.vue +60 -65
- package/components/fleet/ForceDirectedTreeChart/index.vue +5 -1
- package/components/fleet/__tests__/FleetSummary.test.ts +49 -9
- package/components/form/ArrayList.vue +6 -2
- package/components/form/ColorInput.vue +1 -0
- package/components/form/KeyValue.vue +11 -12
- package/components/form/LabeledSelect.vue +15 -3
- package/components/form/Labels.vue +8 -1
- package/components/form/Members/MembershipEditor.vue +230 -222
- package/components/form/Members/__tests__/MembershipEditor.test.ts +62 -0
- package/components/form/Password.vue +3 -0
- package/components/form/ProjectMemberEditor.vue +6 -3
- package/components/form/ResourceTabs/index.vue +15 -13
- package/components/form/SSHKnownHosts/KnownHostsEditDialog.vue +5 -4
- package/components/form/SchedulingCustomization.vue +85 -0
- package/components/form/Select.vue +3 -2
- package/components/form/SelectOrCreateAuthSecret.vue +2 -1
- package/components/form/UnitInput.vue +3 -4
- package/components/form/__tests__/ArrayList.test.ts +9 -6
- package/components/form/__tests__/LabeledSelect.test.ts +37 -0
- package/components/form/__tests__/SelectOrCreateAuthSecret.test.ts +34 -0
- package/components/form/__tests__/UnitInput.test.ts +4 -5
- package/components/formatter/LiveDate.vue +3 -1
- package/components/formatter/ServiceType.vue +12 -4
- package/components/formatter/WorkloadHealthScale.vue +2 -1
- package/components/nav/Header.vue +35 -2
- package/components/nav/HeaderPageActionMenu.vue +11 -40
- package/components/nav/Jump.vue +8 -2
- package/components/nav/NamespaceFilter.vue +5 -4
- package/components/nav/Pinned.vue +1 -1
- package/components/nav/TopLevelMenu.helper.ts +5 -5
- package/components/nav/TopLevelMenu.vue +1 -12
- package/components/nav/WindowManager/ContainerLogs.vue +96 -58
- package/components/nav/WindowManager/ContainerShell.vue +99 -18
- package/components/nav/WindowManager/index.vue +74 -6
- package/components/nav/__tests__/TopLevelMenu.test.ts +0 -40
- package/components/templates/default.vue +2 -47
- package/config/features.js +1 -0
- package/config/labels-annotations.js +11 -1
- package/config/router/navigation-guards/index.js +2 -1
- package/config/router/navigation-guards/record-last-route.js +24 -0
- package/config/settings.ts +66 -98
- package/config/version.js +1 -1
- package/core/types-provisioning.ts +7 -0
- package/detail/fleet.cattle.io.bundle.vue +7 -0
- package/detail/fleet.cattle.io.cluster.vue +0 -3
- package/detail/fleet.cattle.io.gitrepo.vue +8 -15
- package/detail/provisioning.cattle.io.cluster.vue +8 -2
- package/dialog/DeactivateDriverDialog.vue +5 -5
- package/dialog/GitRepoForceUpdateDialog.vue +132 -0
- package/directives/strip-html-aria-label.js +19 -0
- package/edit/__tests__/cis.cattle.io.clusterscan.test.ts +87 -0
- package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +217 -37
- package/edit/auth/__tests__/oidc.test.ts +60 -12
- package/edit/auth/ldap/__tests__/config.test.ts +40 -0
- package/edit/auth/ldap/config.vue +67 -89
- package/edit/auth/oidc.vue +16 -2
- package/edit/catalog.cattle.io.clusterrepo.vue +12 -8
- package/edit/cis.cattle.io.clusterscan.vue +13 -1
- package/edit/fleet.cattle.io.gitrepo.vue +198 -72
- package/edit/logging-flow/Match.vue +0 -21
- package/edit/management.cattle.io.project.vue +1 -1
- package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +10 -3
- package/edit/monitoring.coreos.com.prometheusrule/RecordingRule.vue +5 -1
- package/edit/monitoring.coreos.com.prometheusrule/index.vue +5 -2
- package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +8 -1
- package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +2 -0
- package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +0 -2
- package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.test.ts +55 -15
- package/edit/provisioning.cattle.io.cluster/index.vue +28 -30
- package/edit/provisioning.cattle.io.cluster/rke2.vue +64 -13
- package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +37 -2
- package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +3 -2
- package/edit/resources.cattle.io.backup.vue +150 -15
- package/edit/secret/__tests__/ssh.test.ts +79 -0
- package/edit/secret/ssh.vue +7 -1
- package/edit/service.vue +0 -3
- package/edit/workload/Job.vue +8 -8
- package/edit/workload/__tests__/Job.test.ts +0 -1
- package/edit/workload/index.vue +3 -1
- package/initialize/install-directives.js +2 -0
- package/initialize/install-plugins.js +6 -1
- package/list/catalog.cattle.io.app.vue +21 -4
- package/list/fleet.cattle.io.bundle.vue +1 -1
- package/list/management.cattle.io.setting.vue +34 -132
- package/list/provisioning.cattle.io.cluster.vue +11 -3
- package/machine-config/vmwarevsphere.vue +15 -8
- package/mixins/__tests__/auth-config.test.ts +74 -0
- package/mixins/__tests__/chart.test.ts +5 -4
- package/mixins/__tests__/create-edit-view.test.ts +38 -0
- package/mixins/auth-config.js +8 -0
- package/mixins/chart.js +2 -2
- package/mixins/create-edit-view/impl.js +4 -1
- package/mixins/vue-select-overrides.js +10 -0
- package/models/__tests__/catalog.cattle.io.app.test.ts +148 -0
- package/models/__tests__/fleet.cattle.io.gitrepo.test.ts +157 -0
- package/models/__tests__/secret.test.ts +56 -13
- package/models/catalog.cattle.io.app.js +112 -37
- package/models/cluster.js +11 -0
- package/models/fleet.cattle.io.bundle.js +40 -2
- package/models/fleet.cattle.io.gitrepo.js +169 -109
- package/models/management.cattle.io.fleetworkspace.js +4 -0
- package/models/management.cattle.io.kontainerdriver.js +7 -0
- package/models/nodedriver.js +4 -1
- package/models/provisioning.cattle.io.cluster.js +24 -0
- package/models/secret.js +1 -1
- package/package.json +5 -5
- package/pages/auth/login.vue +5 -11
- package/pages/auth/verify.vue +11 -1
- package/pages/c/_cluster/apps/charts/index.vue +6 -4
- package/pages/c/_cluster/apps/charts/install.vue +1 -1
- package/pages/c/_cluster/explorer/ConfigBadge.vue +3 -5
- package/pages/c/_cluster/explorer/EventsTable.vue +3 -2
- package/pages/c/_cluster/explorer/__tests__/index.test.ts +9 -9
- package/pages/c/_cluster/explorer/index.vue +33 -35
- package/pages/c/_cluster/explorer/tools/index.vue +3 -3
- package/pages/c/_cluster/fleet/index.vue +0 -5
- package/pages/c/_cluster/legacy/project/index.vue +1 -1
- package/pages/c/_cluster/settings/performance.vue +52 -53
- package/pages/c/_cluster/uiplugins/index.vue +19 -22
- package/pages/home.vue +17 -12
- package/pages/prefs.vue +5 -1
- package/plugins/shortkey.js +10 -1
- package/plugins/steve/steve-pagination-utils.ts +58 -8
- package/promptRemove/management.cattle.io.fleetworkspace.vue +98 -0
- package/promptRemove/management.cattle.io.globalrole.vue +1 -1
- package/promptRemove/management.cattle.io.project.vue +2 -8
- package/promptRemove/management.cattle.io.roletemplate.vue +1 -1
- package/promptRemove/mixin/roleDeletionCheck.js +1 -7
- package/promptRemove/pod.vue +7 -28
- package/rancher-components/Card/Card.vue +9 -1
- package/rancher-components/Form/Checkbox/Checkbox.vue +42 -6
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +30 -3
- package/rancher-components/Form/Radio/RadioButton.vue +18 -3
- package/rancher-components/Form/Radio/RadioGroup.vue +39 -5
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +13 -1
- package/rancher-components/RcButton/RcButton.test.ts +97 -0
- package/rancher-components/RcButton/RcButton.vue +14 -9
- package/rancher-components/RcDropdown/RcDropdown.vue +3 -1
- package/rancher-components/RcDropdown/RcDropdownItem.vue +8 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +66 -0
- package/rancher-components/RcDropdown/index.ts +1 -0
- package/rancher-components/RcDropdown/types.ts +27 -0
- package/rancher-components/RcDropdown/useDropdownContext.ts +5 -2
- package/scripts/extension/helm/charts/ui-plugin-server/templates/_helpers.tpl +2 -2
- package/scripts/typegen.sh +1 -0
- package/store/__tests__/auth.test.ts +120 -0
- package/store/action-menu.js +13 -3
- package/store/auth.js +14 -9
- package/store/aws.js +9 -2
- package/store/catalog.js +14 -7
- package/store/features.js +1 -0
- package/store/prefs.js +9 -28
- package/store/type-map.utils.ts +4 -0
- package/types/resources/settings.d.ts +27 -20
- package/types/shell/index.d.ts +18 -12
- package/utils/__tests__/array.test.ts +13 -1
- package/utils/__tests__/string.test.ts +80 -1
- package/utils/array.ts +13 -0
- package/utils/auth.js +4 -0
- package/utils/banners.js +0 -45
- package/utils/cluster.js +1 -1
- package/{edit/monitoring.coreos.com.prometheusrule → utils}/duration.js +5 -3
- package/utils/object.js +0 -3
- package/utils/pagination-utils.ts +15 -2
- package/utils/string.js +31 -7
- package/utils/validators/formRules/__tests__/index.test.ts +27 -0
- package/utils/validators/formRules/index.ts +16 -0
- package/edit/provisioning.cattle.io.cluster/import.vue +0 -198
|
@@ -279,147 +279,125 @@ export default {
|
|
|
279
279
|
color="info"
|
|
280
280
|
label-key="authConfig.ldap.oktaSchema"
|
|
281
281
|
/>
|
|
282
|
-
<div class="
|
|
283
|
-
<div class="
|
|
282
|
+
<div class="schema-container">
|
|
283
|
+
<div class="schema-column">
|
|
284
284
|
<h4>{{ t('authConfig.ldap.users') }}</h4>
|
|
285
|
-
</div>
|
|
286
|
-
<div class="col span-6">
|
|
287
|
-
<h4>{{ t('authConfig.ldap.groups') }}</h4>
|
|
288
|
-
</div>
|
|
289
|
-
</div>
|
|
290
|
-
<div class="row mb-20">
|
|
291
|
-
<div class="col span-6">
|
|
292
285
|
<LabeledInput
|
|
293
286
|
v-model:value="model.userObjectClass"
|
|
294
287
|
:mode="mode"
|
|
295
288
|
:label="t('authConfig.ldap.objectClass')"
|
|
296
289
|
/>
|
|
297
|
-
</div>
|
|
298
|
-
<div class="col span-6">
|
|
299
|
-
<LabeledInput
|
|
300
|
-
v-model:value="model.groupObjectClass"
|
|
301
|
-
:mode="mode"
|
|
302
|
-
:label="t('authConfig.ldap.objectClass')"
|
|
303
|
-
/>
|
|
304
|
-
</div>
|
|
305
|
-
</div>
|
|
306
|
-
<div class="row mb-20">
|
|
307
|
-
<div class="col span-6">
|
|
308
290
|
<LabeledInput
|
|
309
291
|
v-model:value="model.userNameAttribute"
|
|
310
292
|
:mode="mode"
|
|
311
293
|
:label="t('authConfig.ldap.usernameAttribute')"
|
|
312
294
|
/>
|
|
313
|
-
</div>
|
|
314
|
-
<div class="col span-6">
|
|
315
|
-
<LabeledInput
|
|
316
|
-
v-model:value="model.groupNameAttribute"
|
|
317
|
-
:mode="mode"
|
|
318
|
-
:label="t('authConfig.ldap.nameAttribute')"
|
|
319
|
-
/>
|
|
320
|
-
</div>
|
|
321
|
-
</div>
|
|
322
|
-
<div class="row mb-20">
|
|
323
|
-
<div class="col span-6">
|
|
324
295
|
<LabeledInput
|
|
325
296
|
v-model:value="model.userLoginAttribute"
|
|
326
297
|
:mode="mode"
|
|
327
298
|
:label="t('authConfig.ldap.loginAttribute')"
|
|
328
299
|
/>
|
|
329
|
-
</div>
|
|
330
|
-
<div class="col span-6">
|
|
331
|
-
<LabeledInput
|
|
332
|
-
v-model:value="model.groupMemberUserAttribute"
|
|
333
|
-
:mode="mode"
|
|
334
|
-
:label="t('authConfig.ldap.groupMemberUserAttribute')"
|
|
335
|
-
/>
|
|
336
|
-
</div>
|
|
337
|
-
</div>
|
|
338
|
-
<div class="row mb-20">
|
|
339
|
-
<div class="col span-6">
|
|
340
300
|
<LabeledInput
|
|
341
301
|
v-model:value="model.userMemberAttribute"
|
|
342
302
|
:mode="mode"
|
|
343
303
|
:label="t('authConfig.ldap.userMemberAttribute')"
|
|
344
304
|
/>
|
|
345
|
-
</div>
|
|
346
|
-
<div class="col span-6">
|
|
347
305
|
<LabeledInput
|
|
348
|
-
v-model:value="model.
|
|
306
|
+
v-model:value="model.userLoginFilter"
|
|
307
|
+
data-testid="user-login-filter"
|
|
349
308
|
:mode="mode"
|
|
350
|
-
:label="t('authConfig.ldap.
|
|
309
|
+
:label="t('authConfig.ldap.userLoginFilter')"
|
|
351
310
|
/>
|
|
352
|
-
</div>
|
|
353
|
-
</div>
|
|
354
|
-
<div class="row mb-20">
|
|
355
|
-
<div class="col span-6">
|
|
356
311
|
<LabeledInput
|
|
357
312
|
v-model:value="model.userSearchAttribute"
|
|
358
313
|
:mode="mode"
|
|
359
314
|
:label="t('authConfig.ldap.searchAttribute')"
|
|
360
315
|
/>
|
|
361
|
-
</div>
|
|
362
|
-
<div class="col span-6">
|
|
363
316
|
<LabeledInput
|
|
364
|
-
v-model:value="model.
|
|
317
|
+
v-model:value="model.userSearchFilter"
|
|
365
318
|
:mode="mode"
|
|
366
319
|
:label="t('authConfig.ldap.searchFilter')"
|
|
367
320
|
/>
|
|
368
|
-
</div>
|
|
369
|
-
</div>
|
|
370
|
-
<div class="row mb-20">
|
|
371
|
-
<div class="col span-6">
|
|
372
321
|
<LabeledInput
|
|
373
|
-
v-model:value="model.
|
|
322
|
+
v-model:value="model.userEnabledAttribute"
|
|
374
323
|
:mode="mode"
|
|
375
|
-
:label="t('authConfig.ldap.
|
|
324
|
+
:label="t('authConfig.ldap.userEnabledAttribute')"
|
|
376
325
|
/>
|
|
377
|
-
</div>
|
|
378
|
-
<div class="col span-6">
|
|
379
326
|
<LabeledInput
|
|
380
|
-
v-model:value="model.
|
|
327
|
+
v-model:value="model.disabledStatusBitmask"
|
|
381
328
|
:mode="mode"
|
|
382
|
-
:label="t('authConfig.ldap.
|
|
329
|
+
:label="t('authConfig.ldap.disabledStatusBitmask')"
|
|
383
330
|
/>
|
|
384
331
|
</div>
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
<div class="col span-6">
|
|
332
|
+
<div class="schema-column">
|
|
333
|
+
<h4>{{ t('authConfig.ldap.groups') }}</h4>
|
|
388
334
|
<LabeledInput
|
|
389
|
-
v-model:value="model.
|
|
335
|
+
v-model:value="model.groupObjectClass"
|
|
390
336
|
:mode="mode"
|
|
391
|
-
:label="t('authConfig.ldap.
|
|
337
|
+
:label="t('authConfig.ldap.objectClass')"
|
|
392
338
|
/>
|
|
393
|
-
</div>
|
|
394
|
-
<div class="col span-6">
|
|
395
339
|
<LabeledInput
|
|
396
|
-
v-model:value="model.
|
|
340
|
+
v-model:value="model.groupNameAttribute"
|
|
397
341
|
:mode="mode"
|
|
398
|
-
:label="t('authConfig.ldap.
|
|
342
|
+
:label="t('authConfig.ldap.nameAttribute')"
|
|
399
343
|
/>
|
|
400
|
-
</div>
|
|
401
|
-
</div>
|
|
402
|
-
<div class="row mb-20">
|
|
403
|
-
<div class="col span-6">
|
|
404
344
|
<LabeledInput
|
|
405
|
-
v-model:value="model.
|
|
345
|
+
v-model:value="model.groupMemberUserAttribute"
|
|
406
346
|
:mode="mode"
|
|
407
|
-
:label="t('authConfig.ldap.
|
|
347
|
+
:label="t('authConfig.ldap.groupMemberUserAttribute')"
|
|
408
348
|
/>
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
v-if="!isSamlProvider"
|
|
412
|
-
class=" col span-6"
|
|
413
|
-
>
|
|
414
|
-
<RadioGroup
|
|
415
|
-
v-model:value="model.nestedGroupMembershipEnabled"
|
|
349
|
+
<LabeledInput
|
|
350
|
+
v-model:value="model.groupSearchAttribute"
|
|
416
351
|
:mode="mode"
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
:
|
|
352
|
+
:label="t('authConfig.ldap.searchAttribute')"
|
|
353
|
+
/>
|
|
354
|
+
<LabeledInput
|
|
355
|
+
v-model:value="model.groupSearchFilter"
|
|
356
|
+
:mode="mode"
|
|
357
|
+
:label="t('authConfig.ldap.searchFilter')"
|
|
421
358
|
/>
|
|
359
|
+
<LabeledInput
|
|
360
|
+
v-model:value="model.groupMemberMappingAttribute"
|
|
361
|
+
:mode="mode"
|
|
362
|
+
:label="t('authConfig.ldap.groupMemberMappingAttribute')"
|
|
363
|
+
/>
|
|
364
|
+
<LabeledInput
|
|
365
|
+
v-model:value="model.groupDNAttribute"
|
|
366
|
+
:mode="mode"
|
|
367
|
+
:label="t('authConfig.ldap.groupDNAttribute')"
|
|
368
|
+
/>
|
|
369
|
+
<template
|
|
370
|
+
v-if="!isSamlProvider"
|
|
371
|
+
>
|
|
372
|
+
<RadioGroup
|
|
373
|
+
v-model:value="model.nestedGroupMembershipEnabled"
|
|
374
|
+
:mode="mode"
|
|
375
|
+
name="nested"
|
|
376
|
+
class="full-height"
|
|
377
|
+
:options="[true, false]"
|
|
378
|
+
:labels="[t('authConfig.ldap.nestedGroupMembership.options.nested'), t('authConfig.ldap.nestedGroupMembership.options.direct')]"
|
|
379
|
+
/>
|
|
380
|
+
</template>
|
|
422
381
|
</div>
|
|
423
382
|
</div>
|
|
424
383
|
</div>
|
|
425
384
|
</template>
|
|
385
|
+
|
|
386
|
+
<style lang="scss" scoped>
|
|
387
|
+
.schema-container {
|
|
388
|
+
display: flex;
|
|
389
|
+
gap: 1.75%;
|
|
390
|
+
flex-wrap: wrap;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.schema-column {
|
|
394
|
+
flex: 1;
|
|
395
|
+
display: flex;
|
|
396
|
+
flex-direction: column;
|
|
397
|
+
min-width: 16rem;
|
|
398
|
+
|
|
399
|
+
> :not(:first-child) {
|
|
400
|
+
margin-bottom: 20px;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
</style>
|
package/edit/auth/oidc.vue
CHANGED
|
@@ -11,6 +11,7 @@ import AdvancedSection from '@shell/components/AdvancedSection.vue';
|
|
|
11
11
|
import ArrayList from '@shell/components/form/ArrayList';
|
|
12
12
|
import { LabeledInput } from '@components/Form/LabeledInput';
|
|
13
13
|
import { RadioGroup } from '@components/Form/Radio';
|
|
14
|
+
import { Checkbox } from '@components/Form/Checkbox';
|
|
14
15
|
|
|
15
16
|
export default {
|
|
16
17
|
components: {
|
|
@@ -23,7 +24,8 @@ export default {
|
|
|
23
24
|
AdvancedSection,
|
|
24
25
|
ArrayList,
|
|
25
26
|
LabeledInput,
|
|
26
|
-
RadioGroup
|
|
27
|
+
RadioGroup,
|
|
28
|
+
Checkbox,
|
|
27
29
|
},
|
|
28
30
|
|
|
29
31
|
mixins: [CreateEditView, AuthConfig],
|
|
@@ -134,7 +136,7 @@ export default {
|
|
|
134
136
|
const isKeycloak = this.model.id === 'keycloakoidc';
|
|
135
137
|
|
|
136
138
|
const url = this.oidcUrls.url.replaceAll(' ', '');
|
|
137
|
-
const realmsPath =
|
|
139
|
+
const realmsPath = 'realms';
|
|
138
140
|
|
|
139
141
|
this.model.issuer = `${ url }/${ realmsPath }/${ this.oidcUrls.realm || '' }`;
|
|
140
142
|
|
|
@@ -253,6 +255,18 @@ export default {
|
|
|
253
255
|
</div>
|
|
254
256
|
</div>
|
|
255
257
|
|
|
258
|
+
<div class="row mb-20">
|
|
259
|
+
<div class="col span-6">
|
|
260
|
+
<Checkbox
|
|
261
|
+
v-model:value="model.groupSearchEnabled"
|
|
262
|
+
data-testid="input-group-search"
|
|
263
|
+
:label="t('authConfig.oidc.groupSearch.label')"
|
|
264
|
+
:tooltip="t('authConfig.oidc.groupSearch.tooltip')"
|
|
265
|
+
:mode="mode"
|
|
266
|
+
/>
|
|
267
|
+
</div>
|
|
268
|
+
</div>
|
|
269
|
+
|
|
256
270
|
<div class="row mb-20">
|
|
257
271
|
<div class="col span-6">
|
|
258
272
|
<ArrayList
|
|
@@ -6,7 +6,7 @@ import { RadioGroup } from '@components/Form/Radio';
|
|
|
6
6
|
import NameNsDescription from '@shell/components/form/NameNsDescription';
|
|
7
7
|
import Labels from '@shell/components/form/Labels';
|
|
8
8
|
import SelectOrCreateAuthSecret from '@shell/components/form/SelectOrCreateAuthSecret';
|
|
9
|
-
import
|
|
9
|
+
import Banner from '@components/Banner/Banner.vue';
|
|
10
10
|
import { Checkbox } from '@components/Form/Checkbox';
|
|
11
11
|
import { MANAGEMENT, NAMESPACE, CLUSTER_REPO_TYPES } from '@shell/config/types';
|
|
12
12
|
import UnitInput from '@shell/components/form/UnitInput.vue';
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
NameNsDescription,
|
|
24
24
|
Labels,
|
|
25
25
|
SelectOrCreateAuthSecret,
|
|
26
|
-
|
|
26
|
+
Banner,
|
|
27
27
|
Checkbox,
|
|
28
28
|
UnitInput
|
|
29
29
|
},
|
|
@@ -153,12 +153,16 @@ export default {
|
|
|
153
153
|
</div>
|
|
154
154
|
</div>
|
|
155
155
|
|
|
156
|
-
<
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
156
|
+
<template v-if="clusterRepoType === CLUSTER_REPO_TYPES.OCI_URL">
|
|
157
|
+
<Banner
|
|
158
|
+
label-key="catalog.repo.oci.warning"
|
|
159
|
+
color="warning"
|
|
160
|
+
/>
|
|
161
|
+
<Banner
|
|
162
|
+
:label="t('catalog.repo.oci.info', null, true)"
|
|
163
|
+
color="info"
|
|
164
|
+
/>
|
|
165
|
+
</template>
|
|
162
166
|
|
|
163
167
|
<div class="row mb-10">
|
|
164
168
|
<template v-if="clusterRepoType === CLUSTER_REPO_TYPES.GIT_REPO">
|
|
@@ -192,7 +192,19 @@ export default {
|
|
|
192
192
|
if (!schedule) {
|
|
193
193
|
return false;
|
|
194
194
|
} else {
|
|
195
|
-
|
|
195
|
+
// TODO - #13202: This is required due use of 2 libraries and 3 different libraries through the code.
|
|
196
|
+
const predefined = [
|
|
197
|
+
'@yearly',
|
|
198
|
+
'@annually',
|
|
199
|
+
'@monthly',
|
|
200
|
+
'@weekly',
|
|
201
|
+
'@daily',
|
|
202
|
+
'@midnight',
|
|
203
|
+
'@hourly'
|
|
204
|
+
];
|
|
205
|
+
const isPredefined = predefined.includes(schedule);
|
|
206
|
+
|
|
207
|
+
return (isPredefined || isValidCron(schedule)) && !!this.value.spec.scanProfileName;
|
|
196
208
|
}
|
|
197
209
|
}
|
|
198
210
|
|