@rancher/shell 2.0.0 → 3.0.0-rc.1
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/styles/global/_labeled-input.scss +22 -11
- package/assets/styles/global/_layout.scss +4 -4
- package/assets/styles/global/_tooltip.scss +4 -3
- package/assets/translations/en-us.yaml +44 -8
- package/chart/__tests__/S3.test.ts +21 -14
- package/chart/example.vue +1 -1
- package/chart/gatekeeper.vue +4 -4
- package/chart/istio.vue +11 -11
- package/chart/logging/index.vue +8 -8
- package/chart/monitoring/ClusterSelector.vue +13 -13
- package/chart/monitoring/alerting/index.vue +6 -6
- package/chart/monitoring/grafana/index.vue +14 -14
- package/chart/monitoring/index.vue +122 -108
- package/chart/monitoring/prometheus/index.vue +18 -18
- package/chart/rancher-backup/S3.vue +11 -11
- package/chart/rancher-backup/index.vue +68 -60
- package/cloud-credential/__tests__/azure.test.ts +7 -17
- package/cloud-credential/__tests__/harvester.test.ts +2 -2
- package/cloud-credential/aws.vue +3 -3
- package/cloud-credential/azure.vue +4 -4
- package/cloud-credential/digitalocean.vue +1 -1
- package/cloud-credential/gcp.vue +1 -1
- package/cloud-credential/generic.vue +1 -1
- package/cloud-credential/harvester.vue +1 -1
- package/cloud-credential/linode.vue +1 -1
- package/cloud-credential/pnap.vue +2 -2
- package/cloud-credential/s3.vue +8 -8
- package/cloud-credential/vmwarevsphere.vue +4 -4
- package/components/ActionDropdown.vue +3 -3
- package/components/ActionMenu.vue +1 -1
- package/components/AlertTable.vue +18 -8
- package/components/AppModal.vue +20 -9
- package/components/AssignTo.vue +38 -37
- package/components/AsyncButton.vue +4 -7
- package/components/ButtonDropdown.vue +14 -13
- package/components/ButtonGroup.vue +1 -1
- package/components/Carousel.vue +1 -1
- package/components/Certificates.vue +1 -1
- package/components/ChartReadme.vue +7 -7
- package/components/CodeMirror.vue +2 -2
- package/components/CommunityLinks.vue +2 -2
- package/components/ConsumptionGauge.vue +1 -1
- package/components/ContainerResourceLimit.vue +11 -11
- package/components/CountGauge.vue +1 -1
- package/components/CreateDriver.vue +4 -4
- package/components/CruResource.vue +34 -20
- package/components/DashboardMetrics.vue +3 -3
- package/components/DashboardOptions.vue +3 -3
- package/components/DetailTop.vue +3 -3
- package/components/DisableAuthProviderModal.vue +7 -8
- package/components/EmberPage.vue +1 -1
- package/components/EtcdInfoBanner.vue +1 -1
- package/components/ExplorerMembers.vue +8 -9
- package/components/ExplorerProjectsNamespaces.vue +6 -7
- package/components/FileDiff.vue +1 -1
- package/components/FixedBanner.vue +1 -0
- package/components/GlobalRoleBindings.vue +5 -6
- package/components/GradientBox.vue +1 -2
- package/components/GrafanaDashboard.vue +13 -11
- package/components/GrowlManager.vue +1 -1
- package/components/HarvesterServiceAddOnConfig.vue +2 -2
- package/components/IconOrSvg.vue +1 -2
- package/components/Import.vue +4 -3
- package/components/Inactivity.vue +2 -2
- package/components/IndentedPanel.vue +0 -1
- package/components/InputOrDisplay.vue +3 -2
- package/components/KeyValueView.vue +4 -3
- package/components/LandingPagePreference.vue +3 -2
- package/components/LazyImage.vue +1 -1
- package/components/Loading.vue +1 -1
- package/components/LocaleSelector.vue +4 -4
- package/components/Markdown.vue +1 -1
- package/components/ModalWithCard.vue +1 -4
- package/components/MoveModal.vue +10 -11
- package/components/PercentageBar.vue +7 -7
- package/components/PodSecurityAdmission.vue +13 -13
- package/components/PromptChangePassword.vue +9 -9
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +35 -37
- package/components/PromptRestore.vue +68 -69
- package/components/Questions/Array.vue +3 -4
- package/components/Questions/Boolean.vue +1 -1
- package/components/Questions/CloudCredential.vue +1 -1
- package/components/Questions/Enum.vue +1 -1
- package/components/Questions/Float.vue +1 -1
- package/components/Questions/Int.vue +1 -1
- package/components/Questions/Question.js +1 -1
- package/components/Questions/QuestionMap.vue +3 -4
- package/components/Questions/Radio.vue +1 -1
- package/components/Questions/Reference.vue +2 -2
- package/components/Questions/String.vue +1 -1
- package/components/Questions/Yaml.vue +1 -1
- package/components/Questions/__tests__/Boolean.test.ts +26 -13
- package/components/Questions/__tests__/Float.test.ts +26 -13
- package/components/Questions/__tests__/Int.test.ts +26 -13
- package/components/Questions/__tests__/String.test.ts +26 -13
- package/components/Questions/__tests__/Yaml.test.ts +26 -14
- package/components/Questions/index.vue +10 -10
- package/components/Random.vue +1 -1
- package/components/ResourceDetail/Masthead.vue +7 -2
- package/components/ResourceDetail/index.vue +6 -3
- package/components/ResourceList/Masthead.vue +4 -0
- package/components/ResourceList/index.vue +10 -4
- package/components/ResourceSummary.vue +1 -1
- package/components/ResourceTable.vue +4 -5
- package/components/ResourceYaml.vue +1 -2
- package/components/RoleBindings.vue +3 -3
- package/components/SideNav.vue +8 -6
- package/components/SimpleBox.vue +0 -1
- package/components/SortableTable/THead.vue +5 -5
- package/components/SortableTable/index.vue +21 -20
- package/components/SortableTable/sortable-config.ts +4 -0
- package/components/StatusTable.vue +1 -1
- package/components/TabTitle.vue +3 -9
- package/components/Tabbed/Tab.vue +1 -1
- package/components/Tabbed/index.vue +2 -4
- package/components/Wizard.vue +8 -3
- package/components/YamlEditor.vue +4 -4
- package/components/__tests__/AppModal.test.ts +33 -25
- package/components/__tests__/ApplicationCard.test.ts +1 -1
- package/components/__tests__/AsyncButton.test.ts +42 -34
- package/components/__tests__/BackLink.test.ts +3 -3
- package/components/__tests__/ButtonGroup.test.ts +5 -5
- package/components/__tests__/Carousel.test.ts +2 -2
- package/components/__tests__/Certificates.test.ts +10 -8
- package/components/__tests__/ClusterBadge.test.ts +2 -2
- package/components/__tests__/CodeMirror.test.ts +94 -85
- package/components/__tests__/Collapse.test.ts +3 -3
- package/components/__tests__/CollapsibleCard.test.ts +6 -6
- package/components/__tests__/ConsumptionGauge.test.ts +6 -6
- package/components/__tests__/CruResource.test.ts +67 -56
- package/components/__tests__/EtcdInfoBanner.test.ts +11 -9
- package/components/__tests__/FixedBanner.test.ts +8 -8
- package/components/__tests__/GrowlManager.test.ts +24 -25
- package/components/__tests__/NamespaceFilter.test.ts +48 -34
- package/components/__tests__/PercentageBar.test.ts +10 -10
- package/components/__tests__/PodSecurityAdmission.test.ts +80 -38
- package/components/__tests__/ProjectRow.test.ts +1 -5
- package/components/__tests__/PromptRestore.test.ts +15 -18
- package/components/__tests__/TabTitle.test.ts +21 -14
- package/components/auth/AllowedPrincipals.vue +4 -5
- package/components/auth/RoleDetailEdit.vue +31 -29
- package/components/auth/SelectPrincipal.vue +2 -4
- package/components/auth/__tests__/RoleDetailEdit.test.ts +18 -14
- package/components/auth/login/ldap.vue +2 -2
- package/components/fleet/FleetClusters.vue +0 -1
- package/components/fleet/FleetRepos.vue +0 -1
- package/components/fleet/FleetStatus.vue +3 -3
- package/components/fleet/__tests__/FleetSummary.test.ts +8 -2
- package/components/form/ArrayList.vue +5 -6
- package/components/form/ArrayListGrouped.vue +2 -2
- package/components/form/ArrayListSelect.vue +4 -4
- package/components/form/BannerSettings.vue +10 -10
- package/components/form/ChangePassword.vue +9 -9
- package/components/form/ColorInput.vue +2 -2
- package/components/form/Command.vue +13 -15
- package/components/form/EnvVars.vue +7 -7
- package/components/form/FileImageSelector.vue +1 -1
- package/components/form/GitPicker.vue +7 -7
- package/components/form/HealthCheck.vue +4 -4
- package/components/form/HookOption.vue +13 -13
- package/components/form/InputWithSelect.vue +19 -13
- package/components/form/KeyValue.vue +14 -14
- package/components/form/LabeledSelect.vue +45 -35
- package/components/form/Labels.vue +3 -3
- package/components/form/LifecycleHooks.vue +5 -7
- package/components/form/MatchExpressions.vue +7 -7
- package/components/form/Members/ClusterMembershipEditor.vue +1 -2
- package/components/form/Members/ClusterPermissionsEditor.vue +9 -9
- package/components/form/Members/MembershipEditor.vue +4 -5
- package/components/form/Members/ProjectMembershipEditor.vue +1 -2
- package/components/form/NameNsDescription.vue +12 -13
- package/components/form/Networking.vue +17 -17
- package/components/form/NodeAffinity.vue +9 -10
- package/components/form/NodeScheduling.vue +7 -7
- package/components/form/NotificationSettings.vue +2 -2
- package/components/form/Password.vue +2 -2
- package/components/form/PodAffinity.vue +21 -23
- package/components/form/PodSecurity.vue +6 -6
- package/components/form/Ports.vue +5 -5
- package/components/form/Probe.vue +20 -20
- package/components/form/ProjectMemberEditor.vue +9 -9
- package/components/form/ResourceLabeledSelect.vue +11 -4
- package/components/form/ResourceQuota/Namespace.vue +3 -3
- package/components/form/ResourceQuota/NamespaceRow.vue +3 -3
- package/components/form/ResourceQuota/Project.vue +7 -6
- package/components/form/ResourceQuota/ProjectRow.vue +113 -114
- package/components/form/ResourceSelector.vue +3 -3
- package/components/form/ResourceTabs/index.vue +1 -1
- package/components/form/RuleSelector.vue +7 -6
- package/components/form/SecretSelector.vue +5 -6
- package/components/form/Security.vue +14 -14
- package/components/form/Select.vue +21 -11
- package/components/form/SelectOrCreateAuthSecret.vue +30 -27
- package/components/form/ServiceNameSelect.vue +8 -5
- package/components/form/ServicePorts.vue +4 -4
- package/components/form/ShellInput.vue +3 -3
- package/components/form/SimpleSecretSelector.vue +2 -2
- package/components/form/Taints.vue +18 -11
- package/components/form/Tolerations.vue +12 -12
- package/components/form/UnitInput.vue +1 -1
- package/components/form/ValueFromResource.vue +17 -17
- package/components/form/WorkloadPorts.vue +21 -21
- package/components/form/__tests__/ArrayList.test.ts +14 -11
- package/components/form/__tests__/ArrayListGrouped.test.ts +4 -4
- package/components/form/__tests__/BannerSettings.test.ts +6 -5
- package/components/form/__tests__/Command.test.ts +12 -12
- package/components/form/__tests__/Error.test.ts +5 -5
- package/components/form/__tests__/FileImageSelector.test.ts +5 -5
- package/components/form/__tests__/FileSelector.test.ts +9 -9
- package/components/form/__tests__/InputWithSelect.test.ts +42 -0
- package/components/form/__tests__/KeyValue.test.ts +28 -18
- package/components/form/__tests__/LabeledSelect.test.ts +9 -9
- package/components/form/__tests__/MatchExpressions.test.ts +10 -10
- package/components/form/__tests__/NameNsDescription.test.ts +28 -25
- package/components/form/__tests__/NodeAffinity.test.ts +4 -3
- package/components/form/__tests__/PodAffinity.test.ts +4 -3
- package/components/form/__tests__/Probe.test.ts +6 -6
- package/components/form/__tests__/Security.test.ts +6 -6
- package/components/form/__tests__/Select.test.ts +30 -0
- package/components/form/__tests__/ServiceNameSelect.test.ts +42 -0
- package/components/form/__tests__/Taints.test.ts +71 -0
- package/components/form/__tests__/UnitInput.test.ts +20 -24
- package/components/form/labeled-select-utils/labeled-select.utils.ts +1 -1
- package/components/formatter/AppSummaryGraph.vue +4 -4
- package/components/formatter/ClusterLink.vue +1 -1
- package/components/formatter/Endpoints.vue +4 -1
- package/components/formatter/FleetSummaryGraph.vue +4 -4
- package/components/formatter/ListLink.vue +1 -1
- package/components/formatter/ListLinkDetail.vue +2 -2
- package/components/formatter/LiveExpiryBadgeState.vue +18 -5
- package/components/formatter/LiveExpiryDate.vue +1 -1
- package/components/formatter/MachineSummaryGraph.vue +4 -4
- package/components/formatter/PercentageBar.vue +1 -1
- package/components/formatter/Principal.vue +0 -1
- package/components/formatter/PrincipalGroupBindings.vue +5 -5
- package/components/formatter/ReceiverIcons.vue +5 -3
- package/components/formatter/Scale.vue +4 -4
- package/components/formatter/ServiceTargets.vue +1 -1
- package/components/formatter/VirtualServiceGateways.vue +1 -1
- package/components/formatter/Weight.vue +2 -2
- package/components/formatter/WorkloadDetailEndpoints.vue +4 -1
- package/components/formatter/WorkloadHealthScale.vue +5 -6
- package/components/formatter/__tests__/Checked.test.ts +2 -2
- package/components/formatter/__tests__/ClusterLink.test.ts +3 -3
- package/components/formatter/__tests__/Date.test.ts +8 -8
- package/components/formatter/__tests__/LinkDetail.test.ts +10 -10
- package/components/formatter/__tests__/LiveDate.test.ts +21 -15
- package/components/formatter/__tests__/PodsUsage.test.ts +5 -5
- package/components/formatter/__tests__/Si.test.ts +3 -3
- package/components/formatter/__tests__/WorkloadDetailEndpoints.test.ts +5 -5
- package/components/graph/LinePlot.vue +1 -2
- package/components/nav/Group.vue +11 -6
- package/components/nav/Header.vue +162 -128
- package/components/nav/Jump.vue +1 -1
- package/components/nav/NamespaceFilter.vue +1 -1
- package/components/nav/TopLevelMenu.vue +15 -18
- package/components/nav/Type.vue +7 -7
- package/components/nav/WindowManager/ContainerLogs.vue +53 -38
- package/components/nav/WindowManager/ContainerShell.vue +38 -37
- package/components/nav/WindowManager/Window.vue +1 -1
- package/components/nav/WindowManager/__tests__/ContainerLogs.test.ts +192 -184
- package/components/nav/WindowManager/__tests__/ContainerShell.test.ts +21 -17
- package/components/nav/WindowManager/index.vue +4 -4
- package/components/nav/WorkspaceSwitcher.vue +16 -16
- package/components/nav/__tests__/TopLevelMenu.test.ts +354 -308
- package/components/nav/__tests__/Type.test.ts +194 -111
- package/components/nuxt/nuxt-build-indicator.vue +79 -52
- package/components/nuxt/nuxt-child.js +24 -25
- package/components/nuxt/nuxt-error.vue +48 -18
- package/components/nuxt/nuxt-link.client.js +4 -3
- package/components/nuxt/nuxt-loading.vue +96 -85
- package/components/templates/blank.vue +0 -1
- package/components/templates/default.vue +0 -4
- package/components/templates/home.vue +4 -4
- package/components/templates/plain.vue +3 -2
- package/composables/useI18n.ts +1 -1
- package/composables/useLabeledFormElement.ts +12 -1
- package/composables/useUserRetentionValidation.test.ts +178 -0
- package/composables/useUserRetentionValidation.ts +201 -0
- package/config/__test__/home-links.test.ts +2 -7
- package/config/pagination-table-headers.js +5 -4
- package/config/product/auth.js +1 -1
- package/config/query-params.js +1 -0
- package/config/roles.ts +34 -19
- package/config/router/index.js +10 -7
- package/config/router/navigation-guards/attempt-first-login.js +1 -1
- package/config/router/navigation-guards/authentication.js +2 -1
- package/{middleware/authenticated.js → config/router/navigation-guards/clusters.js} +28 -86
- package/config/router/navigation-guards/history.js +13 -0
- package/config/router/navigation-guards/i18n.js +13 -0
- package/config/router/navigation-guards/index.js +9 -1
- package/config/router/navigation-guards/install-redirect.js +95 -0
- package/config/router/navigation-guards/load-initial-settings.js +1 -1
- package/config/router/navigation-guards/page-title.js +12 -0
- package/config/router/navigation-guards/products.js +15 -0
- package/config/router/navigation-guards/runtime-extension-route.js +31 -0
- package/config/router/navigation-guards/server-upgrade-growl.js +19 -0
- package/config/router/routes.js +49 -23
- package/config/settings.ts +1 -1
- package/config/store.js +2 -5
- package/config/types.js +18 -0
- package/config/uiplugins.js +2 -2
- package/core/plugin-routes.ts +11 -14
- package/core/plugin.ts +10 -10
- package/core/plugins-loader.js +1 -3
- package/core/plugins.js +7 -1
- package/core/types.ts +7 -7
- package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +3 -3
- package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +46 -4
- package/detail/__tests__/service.test.ts +6 -6
- package/detail/autoscaling.horizontalpodautoscaler/index.vue +6 -5
- package/detail/catalog.cattle.io.app.vue +2 -2
- package/detail/cis.cattle.io.clusterscan.vue +3 -3
- package/detail/configmap.vue +4 -1
- package/detail/fleet.cattle.io.cluster.vue +2 -1
- package/detail/fleet.cattle.io.clustergroup.vue +2 -1
- package/detail/fleet.cattle.io.gitrepo.vue +2 -1
- package/detail/harvesterhci.io.management.cluster.vue +2 -1
- package/detail/helm.cattle.io.projecthelmchart.vue +3 -3
- package/detail/management.cattle.io.user.vue +2 -1
- package/detail/namespace.vue +2 -1
- package/detail/networking.k8s.io.ingress.vue +4 -2
- package/detail/node.vue +2 -1
- package/detail/provisioning.cattle.io.cluster.vue +10 -11
- package/detail/secret.vue +3 -2
- package/detail/service.vue +2 -1
- package/detail/workload/index.vue +1 -19
- package/dialog/AddClusterMemberDialog.vue +30 -31
- package/dialog/AddCustomBadgeDialog.vue +101 -104
- package/dialog/AddProjectMemberDialog.vue +45 -46
- package/dialog/AddonConfigConfirmationDialog.vue +22 -24
- package/dialog/DeactivateDriverDialog.vue +35 -17
- package/dialog/DiagnosticTimingsDialog.vue +29 -29
- package/dialog/DrainNode.vue +245 -249
- package/dialog/ForceMachineRemoveDialog.vue +32 -34
- package/dialog/GenericPrompt.vue +23 -25
- package/dialog/RollbackWorkloadDialog.vue +68 -71
- package/dialog/RotateCertificatesDialog.vue +17 -18
- package/dialog/RotateEncryptionKeyDialog.vue +46 -47
- package/dialog/SaveAsRKETemplateDialog.vue +46 -47
- package/dialog/ScaleMachineDownDialog.vue +3 -3
- package/dialog/ScalePoolDownDialog.vue +22 -24
- package/dialog/SloDialog.vue +95 -0
- package/directives/clean-html.js +3 -3
- package/directives/clean-tooltip.js +1 -1
- package/directives/focus.js +17 -11
- package/directives/int-number.js +2 -2
- package/directives/positive-int-number.js +2 -2
- package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +7 -13
- package/edit/__tests__/kontainerDriver.test.ts +23 -20
- package/edit/__tests__/management.cattle.io.clusterroletemplatebinding.test.ts +31 -29
- package/edit/__tests__/management.cattle.io.setting.test.ts +20 -18
- package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +17 -15
- package/edit/__tests__/namespace.test.ts +29 -26
- package/edit/__tests__/nodeDriver.test.ts +35 -53
- package/edit/__tests__/service.test.ts +20 -17
- package/edit/__tests__/ui.cattle.io.navlink.test.ts +22 -20
- package/edit/auth/__tests__/AuthProviderWarningBanners.test.ts +2 -2
- package/edit/auth/__tests__/azuread.test.ts +43 -45
- package/edit/auth/__tests__/oidc.test.ts +38 -41
- package/edit/auth/azuread.vue +16 -23
- package/edit/auth/github.vue +6 -6
- package/edit/auth/googleoauth.vue +7 -7
- package/edit/auth/ldap/config.vue +29 -29
- package/edit/auth/ldap/index.vue +5 -5
- package/edit/auth/oidc.vue +18 -18
- package/edit/auth/saml.vue +94 -24
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +7 -7
- package/edit/autoscaling.horizontalpodautoscaler/index.vue +18 -16
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +3 -3
- package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +3 -3
- package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +12 -12
- package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +5 -5
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +3 -3
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
- package/edit/catalog.cattle.io.clusterrepo.vue +31 -32
- package/edit/cis.cattle.io.clusterscan.vue +9 -9
- package/edit/cis.cattle.io.clusterscanbenchmark.vue +7 -7
- package/edit/cis.cattle.io.clusterscanprofile.vue +3 -3
- package/edit/cloudcredential.vue +13 -8
- package/edit/configmap.vue +7 -7
- package/edit/constraints.gatekeeper.sh.constraint/MatchKinds.vue +3 -3
- package/edit/constraints.gatekeeper.sh.constraint/NamespaceList.vue +1 -1
- package/edit/constraints.gatekeeper.sh.constraint/Scope.vue +1 -1
- package/edit/constraints.gatekeeper.sh.constraint/index.vue +21 -22
- package/edit/fleet.cattle.io.cluster.vue +2 -1
- package/edit/fleet.cattle.io.clustergroup.vue +3 -2
- package/edit/fleet.cattle.io.gitrepo.vue +18 -18
- package/edit/helm.cattle.io.projecthelmchart.vue +4 -4
- package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +3 -2
- package/edit/logging-flow/Match.vue +4 -4
- package/edit/logging-flow/index.vue +11 -10
- package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +79 -73
- package/edit/logging.banzaicloud.io.output/index.vue +4 -4
- package/edit/logging.banzaicloud.io.output/providers/__tests__/loki.test.ts +1 -1
- package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
- package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +5 -5
- package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +6 -6
- package/edit/logging.banzaicloud.io.output/providers/datadog.vue +4 -4
- package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +16 -16
- package/edit/logging.banzaicloud.io.output/providers/file.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/forward.vue +9 -9
- package/edit/logging.banzaicloud.io.output/providers/gcs.vue +5 -5
- package/edit/logging.banzaicloud.io.output/providers/gelf.vue +14 -14
- package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
- package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +3 -3
- package/edit/logging.banzaicloud.io.output/providers/logdna.vue +3 -3
- package/edit/logging.banzaicloud.io.output/providers/logz.vue +5 -5
- package/edit/logging.banzaicloud.io.output/providers/loki.vue +10 -10
- package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
- package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +15 -15
- package/edit/logging.banzaicloud.io.output/providers/redis.vue +5 -5
- package/edit/logging.banzaicloud.io.output/providers/s3.vue +7 -7
- package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +12 -12
- package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
- package/edit/logging.banzaicloud.io.output/providers/syslog.vue +19 -19
- package/edit/management.cattle.io.clusterroletemplatebinding.vue +1 -1
- package/edit/management.cattle.io.fleetworkspace.vue +6 -4
- package/edit/management.cattle.io.node.vue +1 -1
- package/edit/management.cattle.io.project.vue +13 -10
- package/edit/management.cattle.io.projectroletemplatebinding.vue +3 -3
- package/edit/management.cattle.io.setting.vue +6 -6
- package/edit/management.cattle.io.user.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +2 -1
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +5 -5
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +11 -11
- package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +2 -2
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +10 -9
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +5 -5
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +5 -5
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +9 -9
- package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +36 -36
- package/edit/monitoring.coreos.com.prometheusrule/RecordingRule.vue +4 -4
- package/edit/monitoring.coreos.com.prometheusrule/index.vue +9 -9
- package/edit/monitoring.coreos.com.receiver/auth.vue +9 -9
- package/edit/monitoring.coreos.com.receiver/index.vue +8 -8
- package/edit/monitoring.coreos.com.receiver/tls.vue +4 -4
- package/edit/monitoring.coreos.com.receiver/types/__tests__/email.test.ts +20 -16
- package/edit/monitoring.coreos.com.receiver/types/email.vue +12 -11
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +11 -11
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/webhook.vue +7 -7
- package/edit/monitoring.coreos.com.route.vue +10 -10
- package/edit/namespace.vue +7 -7
- package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +12 -12
- package/edit/networking.istio.io.destinationrule/index.vue +15 -15
- package/edit/networking.k8s.io.ingress/Certificate.vue +5 -5
- package/edit/networking.k8s.io.ingress/Certificates.vue +2 -2
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +18 -18
- package/edit/networking.k8s.io.ingress/IngressClass.vue +1 -1
- package/edit/networking.k8s.io.ingress/Rule.vue +9 -7
- package/edit/networking.k8s.io.ingress/RulePath.vue +10 -10
- package/edit/networking.k8s.io.ingress/Rules.vue +3 -3
- package/edit/networking.k8s.io.ingress/index.vue +12 -8
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +4 -4
- package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +1 -1
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +47 -32
- package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +3 -3
- package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +27 -26
- package/edit/networking.k8s.io.networkpolicy/index.vue +16 -14
- package/edit/node.vue +3 -2
- package/edit/nodeDriver.vue +6 -1
- package/edit/persistentvolume/__tests__/persistentvolume.test.ts +56 -50
- package/edit/persistentvolume/index.vue +23 -23
- package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +8 -8
- package/edit/persistentvolume/plugins/azureDisk.vue +10 -10
- package/edit/persistentvolume/plugins/azureFile.vue +6 -6
- package/edit/persistentvolume/plugins/cephfs.vue +10 -10
- package/edit/persistentvolume/plugins/cinder.vue +8 -8
- package/edit/persistentvolume/plugins/csi.vue +18 -18
- package/edit/persistentvolume/plugins/fc.vue +9 -9
- package/edit/persistentvolume/plugins/flexVolume.vue +9 -9
- package/edit/persistentvolume/plugins/flocker.vue +3 -3
- package/edit/persistentvolume/plugins/gcePersistentDisk.vue +8 -8
- package/edit/persistentvolume/plugins/glusterfs.vue +5 -5
- package/edit/persistentvolume/plugins/hostPath.vue +4 -4
- package/edit/persistentvolume/plugins/iscsi.vue +18 -18
- package/edit/persistentvolume/plugins/local.vue +2 -2
- package/edit/persistentvolume/plugins/longhorn.vue +8 -8
- package/edit/persistentvolume/plugins/nfs.vue +5 -5
- package/edit/persistentvolume/plugins/photonPersistentDisk.vue +5 -5
- package/edit/persistentvolume/plugins/portworxVolume.vue +6 -6
- package/edit/persistentvolume/plugins/quobyte.vue +7 -7
- package/edit/persistentvolume/plugins/rbd.vue +12 -12
- package/edit/persistentvolume/plugins/scaleIO.vue +15 -15
- package/edit/persistentvolume/plugins/storageos.vue +9 -9
- package/edit/persistentvolume/plugins/vsphereVolume.vue +5 -5
- package/edit/persistentvolumeclaim.vue +26 -25
- package/edit/policy.poddisruptionbudget.vue +12 -11
- package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +1 -1
- package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +10 -10
- package/edit/provisioning.cattle.io.cluster/Labels.vue +12 -1
- package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +5 -5
- package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +40 -36
- package/edit/provisioning.cattle.io.cluster/__tests__/Basics.test.ts +170 -78
- package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.test.ts +16 -14
- package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +38 -8
- package/edit/provisioning.cattle.io.cluster/__tests__/DrainOptions.test.ts +14 -12
- package/edit/provisioning.cattle.io.cluster/__tests__/index.test.ts +18 -19
- package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +285 -84
- package/edit/provisioning.cattle.io.cluster/import.vue +7 -4
- package/edit/provisioning.cattle.io.cluster/index.vue +32 -13
- package/edit/provisioning.cattle.io.cluster/rke2.vue +149 -78
- package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +5 -5
- package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +10 -11
- package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +12 -11
- package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +62 -24
- package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +9 -9
- package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +12 -12
- package/edit/provisioning.cattle.io.cluster/tabs/etcd/S3Config.vue +15 -15
- package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +6 -6
- package/edit/provisioning.cattle.io.cluster/tabs/networking/ACE.vue +3 -3
- package/edit/provisioning.cattle.io.cluster/tabs/networking/index.vue +18 -9
- package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +16 -12
- package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryMirrors.vue +4 -4
- package/edit/provisioning.cattle.io.cluster/tabs/registries/__tests__/RegistryConfigs.test.ts +64 -0
- package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +8 -6
- package/edit/provisioning.cattle.io.cluster/tabs/upgrade/DrainOptions.vue +15 -15
- package/edit/provisioning.cattle.io.cluster/tabs/upgrade/index.vue +4 -4
- package/edit/resources.cattle.io.backup.vue +9 -9
- package/edit/resources.cattle.io.restore.vue +11 -11
- package/edit/secret/basic.vue +2 -2
- package/edit/secret/generic.vue +1 -1
- package/edit/secret/index.vue +12 -10
- package/edit/secret/registry.vue +4 -4
- package/edit/secret/ssh.vue +2 -2
- package/edit/secret/tls.vue +2 -2
- package/edit/service.vue +23 -23
- package/edit/serviceaccount.vue +4 -4
- package/edit/storage.k8s.io.storageclass/index.vue +13 -13
- package/edit/storage.k8s.io.storageclass/provisioners/custom.vue +1 -1
- package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
- package/edit/storage.k8s.io.storageclass/provisioners/driver.longhorn.io.vue +4 -4
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +12 -12
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-disk.vue +3 -3
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-file.vue +3 -3
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/cinder.vue +4 -4
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +6 -6
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/glusterfs.vue +9 -9
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/portworx-volume.vue +7 -7
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/quobyte.vue +8 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/rbd.vue +11 -11
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/scaleio.vue +8 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/storageos.vue +5 -5
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +7 -7
- package/edit/token.vue +6 -5
- package/edit/ui.cattle.io.navlink.vue +28 -27
- package/edit/workload/Job.vue +16 -16
- package/edit/workload/Upgrading.vue +16 -16
- package/edit/workload/VolumeClaimTemplate.vue +3 -3
- package/edit/workload/__tests__/Job.test.ts +8 -8
- package/edit/workload/__tests__/index.test.ts +32 -29
- package/edit/workload/index.vue +29 -28
- package/edit/workload/mixins/workload.js +30 -30
- package/edit/workload/storage/ContainerMountPaths.vue +3 -4
- package/edit/workload/storage/Mount.vue +3 -3
- package/edit/workload/storage/__tests__/Mount.test.ts +13 -13
- package/edit/workload/storage/__tests__/Storage.test.ts +26 -20
- package/edit/workload/storage/awsElasticBlockStore.vue +4 -4
- package/edit/workload/storage/azureDisk.vue +7 -7
- package/edit/workload/storage/azureFile.vue +5 -5
- package/edit/workload/storage/csi/driver.longhorn.io.vue +3 -3
- package/edit/workload/storage/csi/index.vue +4 -4
- package/edit/workload/storage/emptyDir.vue +4 -4
- package/edit/workload/storage/ephemeralVolume/index.vue +3 -3
- package/edit/workload/storage/gcePersistentDisk.vue +4 -4
- package/edit/workload/storage/hostPath.vue +4 -4
- package/edit/workload/storage/index.vue +3 -4
- package/edit/workload/storage/nfs.vue +4 -4
- package/edit/workload/storage/persistentVolumeClaim/__tests__/persistentvolumeclaim.test.ts +18 -16
- package/edit/workload/storage/persistentVolumeClaim/index.vue +5 -5
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +15 -15
- package/edit/workload/storage/secret.vue +9 -9
- package/edit/workload/storage/vsphereVolume.vue +4 -4
- package/initialize/App.vue +10 -8
- package/initialize/app-extended.js +14 -30
- package/initialize/entry-helpers.js +32 -429
- package/initialize/entry.js +11 -10
- package/initialize/install-plugins.js +15 -13
- package/list/__tests__/workload.test.ts +22 -20
- package/list/catalog.cattle.io.app.vue +1 -1
- package/list/cis.cattle.io.clusterscan.vue +1 -2
- package/list/fleet.cattle.io.clustergroup.vue +0 -1
- package/list/group.principal.vue +1 -1
- package/list/management.cattle.io.feature.vue +27 -31
- package/list/management.cattle.io.fleetworkspace.vue +0 -1
- package/list/management.cattle.io.setting.vue +2 -2
- package/list/management.cattle.io.user.vue +1 -1
- package/list/namespace.vue +0 -1
- package/list/node.vue +4 -5
- package/list/provisioning.cattle.io.cluster.vue +1 -1
- package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +0 -1
- package/machine-config/__tests__/vmwarevsphere.test.ts +10 -7
- package/machine-config/amazonec2.vue +26 -26
- package/machine-config/azure.vue +31 -31
- package/machine-config/digitalocean.vue +8 -8
- package/machine-config/generic.vue +2 -1
- package/machine-config/linode.vue +4 -4
- package/machine-config/pnap.vue +11 -11
- package/machine-config/vmwarevsphere-config.ts +17 -0
- package/machine-config/vmwarevsphere.vue +400 -410
- package/mixins/__tests__/chart.test.ts +45 -24
- package/mixins/auth-config.js +37 -11
- package/mixins/chart.js +31 -15
- package/mixins/compact-input.ts +2 -3
- package/mixins/labeled-form-element.ts +8 -3
- package/mixins/resource-fetch.js +4 -3
- package/models/__tests__/apps.deployment.test.ts +93 -0
- package/models/apps.deployment.js +18 -4
- package/models/apps.statefulset.js +1 -2
- package/models/batch.cronjob.js +1 -2
- package/models/catalog.cattle.io.clusterrepo.js +1 -2
- package/models/driver.js +3 -2
- package/models/fleet.cattle.io.gitrepo.js +1 -2
- package/models/helm.cattle.io.projecthelmchart.js +2 -3
- package/models/kontainerdriver.js +30 -13
- package/models/management.cattle.io.authconfig.js +2 -2
- package/models/management.cattle.io.cluster.js +2 -2
- package/models/management.cattle.io.roletemplate.js +2 -3
- package/models/namespace.js +1 -2
- package/models/networking.istio.io.destinationrule.js +2 -3
- package/models/nodedriver.js +30 -13
- package/models/persistentvolumeclaim.js +2 -3
- package/models/provisioning.cattle.io.cluster.js +4 -0
- package/models/workload.js +2 -2
- package/package.json +44 -42
- package/pages/404.vue +15 -0
- package/pages/__tests__/prefs.test.ts +44 -44
- package/pages/about.vue +4 -4
- package/pages/account/index.vue +1 -2
- package/pages/auth/login.vue +29 -9
- package/pages/auth/logout.vue +23 -1
- package/pages/auth/setup.vue +35 -31
- package/pages/auth/verify.vue +38 -5
- package/pages/c/_cluster/_product/namespaces.vue +1 -2
- package/pages/c/_cluster/apps/charts/chart.vue +4 -4
- package/pages/c/_cluster/apps/charts/index.vue +16 -16
- package/pages/c/_cluster/apps/charts/install.vue +49 -82
- package/pages/c/_cluster/auth/config/index.vue +2 -2
- package/pages/c/_cluster/auth/roles/index.vue +2 -2
- package/pages/c/_cluster/auth/user.retention/index.vue +34 -95
- package/pages/c/_cluster/explorer/EventsTable.vue +1 -1
- package/pages/c/_cluster/explorer/__tests__/index.test.ts +32 -34
- package/pages/c/_cluster/explorer/index.vue +9 -6
- package/pages/c/_cluster/explorer/tools/__tests__/index.test.ts +22 -20
- package/pages/c/_cluster/fleet/index.vue +5 -6
- package/pages/c/_cluster/gatekeeper/index.vue +4 -5
- package/pages/c/_cluster/istio/index.vue +4 -6
- package/pages/c/_cluster/logging/index.vue +9 -5
- package/pages/c/_cluster/longhorn/__tests__/longhorn.index.test.ts +7 -5
- package/pages/c/_cluster/longhorn/index.vue +2 -9
- package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +1 -4
- package/pages/c/_cluster/manager/drivers/nodeDriver/index.vue +1 -4
- package/pages/c/_cluster/manager/jwt.authentication/index.vue +14 -5
- package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +1 -1
- package/pages/c/_cluster/monitoring/index.vue +7 -9
- package/pages/c/_cluster/neuvector/index.vue +7 -10
- package/pages/c/_cluster/settings/DefaultLinksEditor.vue +7 -9
- package/pages/c/_cluster/settings/banners.vue +82 -84
- package/pages/c/_cluster/settings/brand.vue +21 -19
- package/pages/c/_cluster/settings/links.vue +6 -4
- package/pages/c/_cluster/settings/performance.vue +25 -21
- package/pages/c/_cluster/uiplugins/AddExtensionRepos.vue +2 -2
- package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +43 -45
- package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +5 -5
- package/pages/c/_cluster/uiplugins/InstallDialog.vue +3 -2
- package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +3 -3
- package/pages/c/_cluster/uiplugins/__tests__/AddExtensionRepos.test.ts +20 -15
- package/pages/c/_cluster/uiplugins/__tests__/SetupUIPlugins.test.ts +12 -9
- package/pages/c/_cluster/uiplugins/index.vue +173 -176
- package/pages/diagnostic.vue +6 -9
- package/pages/fail-whale.vue +3 -1
- package/pages/home.vue +8 -17
- package/pages/index.vue +17 -16
- package/pages/prefs.vue +12 -12
- package/pages/support/index.vue +3 -3
- package/pkg/tsconfig.json +0 -1
- package/plugins/clean-html-directive.js +4 -3
- package/plugins/clean-tooltip-directive.js +4 -3
- package/plugins/dashboard-store/actions.js +1 -1
- package/plugins/dashboard-store/getters.js +1 -1
- package/plugins/dashboard-store/index.js +2 -0
- package/plugins/dashboard-store/mutations.js +5 -5
- package/plugins/dashboard-store/resource-class.js +5 -5
- package/plugins/extend-router.js +62 -42
- package/plugins/floating-vue.js +1 -0
- package/plugins/formatters.js +1 -1
- package/plugins/global-formatters.js +3 -14
- package/plugins/i18n.js +17 -22
- package/plugins/int-number.js +4 -3
- package/plugins/positive-int-number.js +4 -3
- package/plugins/shortkey.js +273 -0
- package/plugins/steve/__tests__/getters.test.ts +6 -3
- package/plugins/steve/getters.js +6 -4
- package/plugins/steve/hybrid-class.js +7 -12
- package/plugins/steve/mutations.js +1 -2
- package/plugins/steve/norman-class.js +10 -11
- package/plugins/steve/subscribe.js +3 -1
- package/plugins/trim-whitespace.js +4 -3
- package/promptRemove/management.cattle.io.globalrole.vue +1 -5
- package/promptRemove/management.cattle.io.project.vue +1 -1
- package/promptRemove/pod.vue +16 -8
- package/public/index.html +53 -52
- package/rancher-components/BadgeState/BadgeState.test.ts +1 -1
- package/rancher-components/BadgeState/BadgeState.vue +1 -1
- package/rancher-components/Banner/Banner.test.ts +2 -2
- package/rancher-components/Form/Checkbox/Checkbox.test.ts +5 -5
- package/rancher-components/Form/Checkbox/Checkbox.vue +4 -4
- package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +5 -5
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +15 -4
- package/rancher-components/Form/Radio/RadioButton.vue +3 -2
- package/rancher-components/Form/Radio/RadioGroup.test.ts +6 -9
- package/rancher-components/Form/Radio/RadioGroup.vue +4 -5
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +18 -1
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +13 -13
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -1
- package/rancher-components/StringList/StringList.test.ts +22 -22
- package/rancher-components/StringList/StringList.vue +10 -9
- package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +1 -1
- package/scripts/publish-shell.sh +53 -58
- package/scripts/test-plugins-build.sh +44 -38
- package/scripts/vue-migrate.js +7 -4
- package/shell/types/shell/index.d.ts +2 -0
- package/store/__tests__/catalog.test.ts +4 -21
- package/store/auth.js +29 -11
- package/store/index.js +17 -9
- package/store/prefs.js +3 -4
- package/types/resources/settings.d.ts +54 -0
- package/types/store/pagination.types.ts +1 -1
- package/utils/__tests__/kontainer.test.ts +89 -1
- package/utils/auth.js +22 -7
- package/utils/axios.js +1 -1
- package/utils/download.js +1 -1
- package/utils/dynamic-importer.js +14 -12
- package/utils/error.js +4 -4
- package/utils/kontainer.ts +5 -1
- package/utils/object.js +4 -5
- package/utils/router.js +7 -1
- package/utils/select.js +1 -1
- package/utils/settings.ts +3 -1
- package/utils/unit-tests/ChildRenderingRouterLinkStub.ts +4 -4
- package/utils/version.js +2 -1
- package/vue.config.js +404 -396
- package/config/middleware.js +0 -6
- package/config/nuxt-paths.js +0 -7
- package/creators/app/app.package.json +0 -13
- package/creators/app/files/.eslintignore +0 -16
- package/creators/app/files/.eslintrc.js +0 -173
- package/creators/app/files/.gitignore +0 -70
- package/creators/app/files/.gitlab-ci.yml +0 -14
- package/creators/app/files/.vscode/settings.json +0 -21
- package/creators/app/files/babel.config.js +0 -1
- package/creators/app/files/tsconfig.json +0 -42
- package/creators/app/files/vue.config.js +0 -6
- package/creators/app/init +0 -120
- package/creators/app/package.json +0 -25
- package/creators/pkg/files/.github/workflows/build-extension-catalog.yml +0 -24
- package/creators/pkg/files/.github/workflows/build-extension-charts.yml +0 -22
- package/creators/pkg/files/babel.config.js +0 -1
- package/creators/pkg/files/index.ts +0 -14
- package/creators/pkg/files/tsconfig.json +0 -53
- package/creators/pkg/files/vue.config.js +0 -1
- package/creators/pkg/init +0 -286
- package/creators/pkg/package.json +0 -19
- package/creators/pkg/pkg.package.json +0 -21
- package/creators/pkg/vue-shim.ts +0 -4
- package/creators/update/init +0 -56
- package/creators/update/package.json +0 -20
- package/creators/update/upgrade +0 -56
- package/pages/c/_cluster/backup/index.vue +0 -11
- package/pages/c/_cluster/cis/index.vue +0 -11
- package/plugins/directives.js +0 -8
- package/plugins/vue-js-modal.js +0 -4
- package/rancher-components/components/Accordion/Accordion.test.ts +0 -45
- package/rancher-components/components/Accordion/Accordion.vue +0 -86
- package/rancher-components/components/Accordion/index.ts +0 -1
- package/rancher-components/components/BadgeState/BadgeState.test.ts +0 -12
- package/rancher-components/components/BadgeState/BadgeState.vue +0 -111
- package/rancher-components/components/BadgeState/index.ts +0 -1
- package/rancher-components/components/Banner/Banner.test.ts +0 -59
- package/rancher-components/components/Banner/Banner.vue +0 -244
- package/rancher-components/components/Banner/index.ts +0 -1
- package/rancher-components/components/Card/Card.test.ts +0 -37
- package/rancher-components/components/Card/Card.vue +0 -167
- package/rancher-components/components/Card/index.ts +0 -1
- package/rancher-components/components/Form/Checkbox/Checkbox.test.ts +0 -68
- package/rancher-components/components/Form/Checkbox/Checkbox.vue +0 -421
- package/rancher-components/components/Form/Checkbox/index.ts +0 -1
- package/rancher-components/components/Form/LabeledInput/LabeledInput.test.ts +0 -40
- package/rancher-components/components/Form/LabeledInput/LabeledInput.vue +0 -402
- package/rancher-components/components/Form/LabeledInput/index.ts +0 -1
- package/rancher-components/components/Form/Radio/RadioButton.test.ts +0 -33
- package/rancher-components/components/Form/Radio/RadioButton.vue +0 -293
- package/rancher-components/components/Form/Radio/RadioGroup.test.ts +0 -30
- package/rancher-components/components/Form/Radio/RadioGroup.vue +0 -259
- package/rancher-components/components/Form/Radio/index.ts +0 -2
- package/rancher-components/components/Form/TextArea/TextAreaAutoGrow.vue +0 -172
- package/rancher-components/components/Form/TextArea/index.ts +0 -1
- package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.test.ts +0 -94
- package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.vue +0 -152
- package/rancher-components/components/Form/ToggleSwitch/index.ts +0 -1
- package/rancher-components/components/Form/index.ts +0 -5
- package/rancher-components/components/LabeledTooltip/LabeledTooltip.vue +0 -156
- package/rancher-components/components/LabeledTooltip/index.ts +0 -1
- package/rancher-components/components/StringList/StringList.test.ts +0 -754
- package/rancher-components/components/StringList/StringList.vue +0 -650
- package/rancher-components/components/StringList/index.ts +0 -1
- package/types/shell/index.d.ts +0 -4585
- package/utils/install-redirect.js +0 -55
- /package/utils/{cookie-universal-nuxt.js → cookie-universal.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* eslint-disable jest/no-hooks */
|
|
2
|
-
import { mount,
|
|
2
|
+
import { mount, VueWrapper } from '@vue/test-utils';
|
|
3
3
|
import { StringList } from './index';
|
|
4
4
|
|
|
5
5
|
describe('stringList.vue', () => {
|
|
6
|
-
let wrapper:
|
|
6
|
+
let wrapper: VueWrapper<InstanceType<typeof StringList>>;
|
|
7
7
|
|
|
8
8
|
beforeEach(() => {
|
|
9
9
|
wrapper = mount(StringList, { propsData: { items: [] } });
|
|
@@ -80,7 +80,7 @@ describe('stringList.vue', () => {
|
|
|
80
80
|
|
|
81
81
|
const inputField = wrapper.find('[data-testid^="item-edit"]');
|
|
82
82
|
|
|
83
|
-
expect(inputField.
|
|
83
|
+
expect(inputField.exists()).toBe(false);
|
|
84
84
|
});
|
|
85
85
|
|
|
86
86
|
it('double click on empty space to create item not allowed when readonly', async() => {
|
|
@@ -96,7 +96,7 @@ describe('stringList.vue', () => {
|
|
|
96
96
|
|
|
97
97
|
const inputField = wrapper.find('[data-testid="item-create"]');
|
|
98
98
|
|
|
99
|
-
expect(inputField.
|
|
99
|
+
expect(inputField.exists()).toBe(false);
|
|
100
100
|
});
|
|
101
101
|
|
|
102
102
|
it('select item not allowed when readonly', async() => {
|
|
@@ -142,7 +142,7 @@ describe('stringList.vue', () => {
|
|
|
142
142
|
await wrapper.setProps({ readonly: true });
|
|
143
143
|
const actionButtons = wrapper.find('[data-testid="div-action-buttons"]');
|
|
144
144
|
|
|
145
|
-
expect(actionButtons.
|
|
145
|
+
expect(actionButtons.exists()).toBe(false);
|
|
146
146
|
});
|
|
147
147
|
|
|
148
148
|
describe('add button', () => {
|
|
@@ -257,7 +257,7 @@ describe('stringList.vue', () => {
|
|
|
257
257
|
|
|
258
258
|
const inputField = await wrapper.find('[data-testid="item-create"]');
|
|
259
259
|
|
|
260
|
-
expect(inputField.
|
|
260
|
+
expect(inputField.exists()).toBe(false);
|
|
261
261
|
});
|
|
262
262
|
|
|
263
263
|
it('deactivates edit mode', async() => {
|
|
@@ -275,7 +275,7 @@ describe('stringList.vue', () => {
|
|
|
275
275
|
|
|
276
276
|
const inputField = wrapper.find('[data-testid^="item-edit"]');
|
|
277
277
|
|
|
278
|
-
expect(inputField.
|
|
278
|
+
expect(inputField.exists()).toBe(false);
|
|
279
279
|
});
|
|
280
280
|
});
|
|
281
281
|
});
|
|
@@ -297,7 +297,7 @@ describe('stringList.vue', () => {
|
|
|
297
297
|
await inputField.trigger('keydown.enter');
|
|
298
298
|
await wrapper.vm.$nextTick();
|
|
299
299
|
|
|
300
|
-
const emitted = (wrapper.emitted('change') || [])[
|
|
300
|
+
const emitted = (wrapper.emitted('change') || [])[1][0][0];
|
|
301
301
|
|
|
302
302
|
expect(emitted).toBe(validItem.trim());
|
|
303
303
|
});
|
|
@@ -318,7 +318,7 @@ describe('stringList.vue', () => {
|
|
|
318
318
|
await inputField.trigger('keydown.enter');
|
|
319
319
|
await wrapper.vm.$nextTick();
|
|
320
320
|
|
|
321
|
-
const emitted = (wrapper.emitted('change') || [])[
|
|
321
|
+
const emitted = (wrapper.emitted('change') || [])[1][0][0];
|
|
322
322
|
|
|
323
323
|
expect(emitted).toBe(validItem.trim());
|
|
324
324
|
});
|
|
@@ -336,7 +336,7 @@ describe('stringList.vue', () => {
|
|
|
336
336
|
await inputField.trigger('keydown.enter');
|
|
337
337
|
await wrapper.vm.$nextTick();
|
|
338
338
|
|
|
339
|
-
expect(wrapper.emitted('change')).toBeFalsy();
|
|
339
|
+
expect(wrapper.emitted('change')[1]).toBeFalsy();
|
|
340
340
|
});
|
|
341
341
|
|
|
342
342
|
it('reject a new item in create mode when item name is duplicate', async() => {
|
|
@@ -356,7 +356,7 @@ describe('stringList.vue', () => {
|
|
|
356
356
|
await inputField.trigger('keydown.enter');
|
|
357
357
|
await wrapper.vm.$nextTick();
|
|
358
358
|
|
|
359
|
-
expect(wrapper.emitted('change')).toBeFalsy();
|
|
359
|
+
expect(wrapper.emitted('change')[1]).toBeFalsy();
|
|
360
360
|
});
|
|
361
361
|
|
|
362
362
|
it('reject an item in edit mode when item name is empty', async() => {
|
|
@@ -375,7 +375,7 @@ describe('stringList.vue', () => {
|
|
|
375
375
|
await inputField.trigger('keydown.enter');
|
|
376
376
|
await wrapper.vm.$nextTick();
|
|
377
377
|
|
|
378
|
-
expect(wrapper.emitted('change')).toBeFalsy();
|
|
378
|
+
expect(wrapper.emitted('change')[1]).toBeFalsy();
|
|
379
379
|
});
|
|
380
380
|
|
|
381
381
|
it('reject an item in edit mode when item name is duplicate', async() => {
|
|
@@ -394,7 +394,7 @@ describe('stringList.vue', () => {
|
|
|
394
394
|
await inputField.trigger('keydown.enter');
|
|
395
395
|
await wrapper.vm.$nextTick();
|
|
396
396
|
|
|
397
|
-
expect(wrapper.emitted('change')).toBeFalsy();
|
|
397
|
+
expect(wrapper.emitted('change')[1]).toBeFalsy();
|
|
398
398
|
});
|
|
399
399
|
});
|
|
400
400
|
|
|
@@ -428,7 +428,7 @@ describe('stringList.vue', () => {
|
|
|
428
428
|
await inputField.trigger('keydown.enter');
|
|
429
429
|
await wrapper.vm.$nextTick();
|
|
430
430
|
|
|
431
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
431
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
432
432
|
|
|
433
433
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
434
434
|
});
|
|
@@ -485,7 +485,7 @@ describe('stringList.vue', () => {
|
|
|
485
485
|
await inputField.trigger('keydown.enter');
|
|
486
486
|
await wrapper.vm.$nextTick();
|
|
487
487
|
|
|
488
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
488
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
489
489
|
|
|
490
490
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
491
491
|
});
|
|
@@ -504,7 +504,7 @@ describe('stringList.vue', () => {
|
|
|
504
504
|
await inputField.trigger('keydown.enter');
|
|
505
505
|
await wrapper.vm.$nextTick();
|
|
506
506
|
|
|
507
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
507
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
508
508
|
|
|
509
509
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
510
510
|
});
|
|
@@ -523,7 +523,7 @@ describe('stringList.vue', () => {
|
|
|
523
523
|
await inputField.trigger('keydown.enter');
|
|
524
524
|
await wrapper.vm.$nextTick();
|
|
525
525
|
|
|
526
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
526
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
527
527
|
|
|
528
528
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
529
529
|
});
|
|
@@ -555,7 +555,7 @@ describe('stringList.vue', () => {
|
|
|
555
555
|
await inputField.trigger('keydown.enter');
|
|
556
556
|
await wrapper.vm.$nextTick();
|
|
557
557
|
|
|
558
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
558
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
559
559
|
|
|
560
560
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
561
561
|
});
|
|
@@ -607,7 +607,7 @@ describe('stringList.vue', () => {
|
|
|
607
607
|
await inputField.trigger('keydown.enter');
|
|
608
608
|
await wrapper.vm.$nextTick();
|
|
609
609
|
|
|
610
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
610
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
611
611
|
|
|
612
612
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
613
613
|
});
|
|
@@ -625,7 +625,7 @@ describe('stringList.vue', () => {
|
|
|
625
625
|
await inputField.trigger('keydown.enter');
|
|
626
626
|
await wrapper.vm.$nextTick();
|
|
627
627
|
|
|
628
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
628
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
629
629
|
|
|
630
630
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
631
631
|
});
|
|
@@ -643,7 +643,7 @@ describe('stringList.vue', () => {
|
|
|
643
643
|
await inputField.trigger('keydown.enter');
|
|
644
644
|
await wrapper.vm.$nextTick();
|
|
645
645
|
|
|
646
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
646
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
647
647
|
|
|
648
648
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
649
649
|
});
|
|
@@ -661,7 +661,7 @@ describe('stringList.vue', () => {
|
|
|
661
661
|
await inputField.trigger('keydown.enter');
|
|
662
662
|
await wrapper.vm.$nextTick();
|
|
663
663
|
|
|
664
|
-
const itemsResult = (wrapper.emitted('change') || [])[
|
|
664
|
+
const itemsResult = (wrapper.emitted('change') || [])[1][0];
|
|
665
665
|
|
|
666
666
|
expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
|
|
667
667
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
import { PropType, defineComponent } from 'vue';
|
|
3
4
|
|
|
4
5
|
import LabeledInput from '@components/Form/LabeledInput/LabeledInput.vue';
|
|
5
6
|
import { findStringIndex, hasDuplicatedStrings } from '@shell/utils/array';
|
|
@@ -219,7 +220,7 @@ export default defineComponent({
|
|
|
219
220
|
},
|
|
220
221
|
|
|
221
222
|
setFocus(refId: string) {
|
|
222
|
-
this.$nextTick(() => (this.getElemByRef(refId) as
|
|
223
|
+
this.$nextTick(() => (this.getElemByRef(refId) as HTMLElement)?.focus());
|
|
223
224
|
},
|
|
224
225
|
|
|
225
226
|
/**
|
|
@@ -256,7 +257,7 @@ export default defineComponent({
|
|
|
256
257
|
},
|
|
257
258
|
|
|
258
259
|
toggleErrorClass(refId: string, val: boolean) {
|
|
259
|
-
const input = (this.getElemByRef(refId)
|
|
260
|
+
const input = (this.getElemByRef(refId))?.$el;
|
|
260
261
|
|
|
261
262
|
if (input) {
|
|
262
263
|
if (val) {
|
|
@@ -433,7 +434,7 @@ export default defineComponent({
|
|
|
433
434
|
>
|
|
434
435
|
<div
|
|
435
436
|
v-for="(item, index) in items"
|
|
436
|
-
:key="
|
|
437
|
+
:key="index"
|
|
437
438
|
:ref="item"
|
|
438
439
|
:class="{
|
|
439
440
|
selected: selected === item,
|
|
@@ -460,9 +461,9 @@ export default defineComponent({
|
|
|
460
461
|
:data-testid="`item-edit-${item}`"
|
|
461
462
|
class="edit-input static"
|
|
462
463
|
:value="value != null ? value : item"
|
|
463
|
-
@
|
|
464
|
+
@update:value="onChange($event, index)"
|
|
464
465
|
@blur.prevent="updateItem(item)"
|
|
465
|
-
@keydown.
|
|
466
|
+
@keydown.enter="updateItem(item, !errors.duplicate)"
|
|
466
467
|
/>
|
|
467
468
|
</div>
|
|
468
469
|
<div
|
|
@@ -476,9 +477,9 @@ export default defineComponent({
|
|
|
476
477
|
type="text"
|
|
477
478
|
:value="value"
|
|
478
479
|
:placeholder="placeholder"
|
|
479
|
-
@
|
|
480
|
+
@update:value="onChange($event)"
|
|
480
481
|
@blur.prevent="saveItem"
|
|
481
|
-
@keydown.
|
|
482
|
+
@keydown.enter="saveItem(!errors.duplicate)"
|
|
482
483
|
/>
|
|
483
484
|
</div>
|
|
484
485
|
</div>
|
|
@@ -637,7 +638,7 @@ export default defineComponent({
|
|
|
637
638
|
}
|
|
638
639
|
}
|
|
639
640
|
|
|
640
|
-
|
|
641
|
+
:deep() {
|
|
641
642
|
.labeled-input INPUT.no-label,
|
|
642
643
|
.labeled-input INPUT:hover.no-label,
|
|
643
644
|
.labeled-input INPUT:focus.no-label {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
annotations:
|
|
2
2
|
catalog.cattle.io/certified: rancher # Any application we are adding as a helm chart
|
|
3
|
-
catalog.cattle.io/kube-version: '>= 1.16.0-0
|
|
3
|
+
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
|
4
4
|
catalog.cattle.io/namespace: cattle-ui-plugin-system # Must prefix with cattle- and suffix with -system=
|
|
5
5
|
catalog.cattle.io/os: linux
|
|
6
6
|
catalog.cattle.io/permits-os: linux, windows
|
package/scripts/publish-shell.sh
CHANGED
|
@@ -6,10 +6,16 @@ BASE_DIR="$(
|
|
|
6
6
|
pwd
|
|
7
7
|
)"
|
|
8
8
|
SHELL_DIR=$BASE_DIR/shell/
|
|
9
|
-
|
|
10
|
-
PUBLISH_ARGS="--no-git-tag-version --access public $
|
|
9
|
+
CREATORS_DIR=$BASE_DIR/creators/extension
|
|
10
|
+
PUBLISH_ARGS="--no-git-tag-version --access public --registry $NPM_REGISTRY $NPM_TAG"
|
|
11
11
|
FORCE_PUBLISH_TO_NPM="false"
|
|
12
|
-
|
|
12
|
+
DEFAULT_NPM_REGISTRY="https://registry.npmjs.org"
|
|
13
|
+
|
|
14
|
+
# if TAG doesn't exist, we can exit as it's needed for any type of publish.
|
|
15
|
+
if [ -z "$TAG" ]; then
|
|
16
|
+
echo "You need to set the TAG variable first!"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
13
19
|
|
|
14
20
|
if [ ! -d "${BASE_DIR}/node_modules" ]; then
|
|
15
21
|
echo "You need to run 'yarn install' first"
|
|
@@ -23,72 +29,44 @@ if [ "$1" == "--npm" ]; then
|
|
|
23
29
|
fi
|
|
24
30
|
|
|
25
31
|
if [ "$FORCE_PUBLISH_TO_NPM" == "true" ]; then
|
|
26
|
-
export
|
|
32
|
+
export NPM_REGISTRY=$DEFAULT_NPM_REGISTRY
|
|
27
33
|
fi
|
|
28
34
|
|
|
29
|
-
# We use the version from the shell package for the creator packages
|
|
30
|
-
# Need to copy them to a temporary location, so we can patch the version number
|
|
31
|
-
# before publishing
|
|
32
|
-
|
|
33
|
-
# To set a token for NPM registry auth: `npm config set //registry.npmjs.org/:_authToken <TOKEN>``
|
|
34
|
-
|
|
35
|
-
PKG_DIST=$BASE_DIR/dist-pkg/creators
|
|
36
|
-
mkdir -p ${PKG_DIST}
|
|
37
|
-
rm -rf ${PKG_DIST}/app
|
|
38
|
-
rm -rf ${PKG_DIST}/pkg
|
|
39
|
-
rm -rf ${PKG_DIST}/update
|
|
40
|
-
|
|
41
35
|
pushd ${SHELL_DIR} >/dev/null
|
|
42
36
|
|
|
43
|
-
PKG_VERSION=$(node -p "require('./package.json').version")
|
|
44
|
-
popd >/dev/null
|
|
45
|
-
|
|
46
|
-
echo "Publishing version: $PKG_VERSION"
|
|
47
|
-
|
|
48
|
-
cp -R ${SHELL_DIR}/creators/app ${PKG_DIST}
|
|
49
|
-
cp -R ${SHELL_DIR}/creators/pkg ${PKG_DIST}
|
|
50
|
-
cp -R ${SHELL_DIR}/creators/update ${PKG_DIST}
|
|
51
|
-
|
|
52
|
-
sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/app/package.json
|
|
53
|
-
sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/pkg/package.json
|
|
54
|
-
sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/update/package.json
|
|
55
|
-
|
|
56
|
-
rm ${PKG_DIST}/app/package.json.bak
|
|
57
|
-
rm ${PKG_DIST}/pkg/package.json.bak
|
|
58
|
-
rm ${PKG_DIST}/update/package.json.bak
|
|
59
|
-
|
|
60
37
|
function publish() {
|
|
61
38
|
NAME=$1
|
|
62
39
|
FOLDER=$2
|
|
63
40
|
|
|
41
|
+
# if we pass a third arg, that is the version number
|
|
42
|
+
# that we want to actually publish on NPM
|
|
43
|
+
# they should match with the package.json version stated
|
|
44
|
+
# because of the check in the "Check Tags Version Matching" step in the workflow
|
|
45
|
+
if [ -n "$3" ]; then
|
|
46
|
+
PKG_VERSION=$3
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
# if the PKG_VERSION has a - it means it will be a pre-release
|
|
50
|
+
if [[ $PKG_VERSION == *"-"* ]]; then
|
|
51
|
+
PUBLISH_ARGS="--no-git-tag-version --access public --registry $NPM_REGISTRY --tag pre-release"
|
|
52
|
+
fi
|
|
53
|
+
|
|
64
54
|
echo "Publishing ${NAME} from ${FOLDER}"
|
|
65
55
|
pushd ${FOLDER} >/dev/null
|
|
66
56
|
|
|
67
57
|
# For now, copy the rancher components into the shell and ship them with it
|
|
68
58
|
if [ "$NAME" == "Shell" ]; then
|
|
69
59
|
echo "Adding Rancher Components"
|
|
60
|
+
rm -rf ./rancher-components
|
|
70
61
|
cp -R ${BASE_DIR}/pkg/rancher-components/src/components ./rancher-components/
|
|
71
62
|
fi
|
|
72
63
|
|
|
73
|
-
if [ "$NAME" == "Update" ]; then
|
|
74
|
-
# Add files from the app and pkg creators to the update package
|
|
75
|
-
mkdir -p ./app
|
|
76
|
-
mkdir -p ./pkg
|
|
77
|
-
cp -R ${BASE_DIR}/shell/creators/app/* ./app
|
|
78
|
-
cp -R ${BASE_DIR}/shell/creators/pkg/* ./pkg
|
|
79
|
-
# Remove index.ts from pkg files, as we don't want to replace that
|
|
80
|
-
rm -f ./pkg/files/index.ts
|
|
81
|
-
|
|
82
|
-
# Update the package.json for the app
|
|
83
|
-
cd app
|
|
84
|
-
node ${SCRIPT_DIR}/record-deps.js
|
|
85
|
-
cd ..
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
64
|
# Make a note of dependency versions, if required
|
|
89
65
|
node ${SCRIPT_DIR}/record-deps.js
|
|
90
66
|
|
|
91
|
-
|
|
67
|
+
echo "Publishing to registry: $NPM_REGISTRY"
|
|
68
|
+
|
|
69
|
+
npm publish ${PUBLISH_ARGS}
|
|
92
70
|
RET=$?
|
|
93
71
|
|
|
94
72
|
popd >/dev/null
|
|
@@ -99,15 +77,32 @@ function publish() {
|
|
|
99
77
|
fi
|
|
100
78
|
}
|
|
101
79
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
publish "Application creator" ${PKG_DIST}/app/
|
|
108
|
-
publish "Package creator" ${PKG_DIST}/pkg/
|
|
109
|
-
publish "Update" ${PKG_DIST}/update/
|
|
80
|
+
echo "TAG ${TAG}"
|
|
81
|
+
|
|
82
|
+
# let's get the package name and version from the tag
|
|
83
|
+
PKG_NAME=$(sed 's/-pkg-v.*//' <<< "$TAG")
|
|
84
|
+
PKG_V=$(sed 's/.*-pkg-v//'<<< "$TAG")
|
|
110
85
|
|
|
111
|
-
echo "
|
|
86
|
+
echo "PKG_NAME ${PKG_NAME}"
|
|
87
|
+
echo "PKG_V ${PKG_V}"
|
|
112
88
|
|
|
89
|
+
# Generate the type definitions for the shell
|
|
90
|
+
if [ ${PKG_NAME} == "shell" ]; then
|
|
91
|
+
${SCRIPT_DIR}/typegen.sh
|
|
92
|
+
fi
|
|
113
93
|
|
|
94
|
+
# version comparison checks
|
|
95
|
+
case $PKG_NAME in
|
|
96
|
+
"shell")
|
|
97
|
+
echo "Publishing only Shell pkg via tagged release"
|
|
98
|
+
publish "Shell" ${SHELL_DIR} ${PKG_V}
|
|
99
|
+
;;
|
|
100
|
+
"creators")
|
|
101
|
+
echo "Publishing only Creators pkg via tagged release"
|
|
102
|
+
publish "Extension creator" ${CREATORS_DIR} ${PKG_V}
|
|
103
|
+
;;
|
|
104
|
+
*)
|
|
105
|
+
echo "something went wrong with the tagging name => TAG: ${TAG} , PKG_NAME: ${PKG_NAME}. Admissable names are 'shell' and 'creator'"
|
|
106
|
+
exit 1
|
|
107
|
+
;;
|
|
108
|
+
esac
|
|
@@ -8,8 +8,8 @@ SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
|
8
8
|
BASE_DIR="$( cd $SCRIPT_DIR && cd ../.. & pwd)"
|
|
9
9
|
SHELL_DIR=$BASE_DIR/shell/
|
|
10
10
|
SHELL_VERSION="99.99.99"
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
DEFAULT_NPM_REGISTRY="https://registry.npmjs.org/"
|
|
12
|
+
VERDACCIO_NPM_REGISTRY="http://localhost:4873"
|
|
13
13
|
|
|
14
14
|
echo ${SCRIPT_DIR}
|
|
15
15
|
|
|
@@ -69,11 +69,11 @@ else
|
|
|
69
69
|
rm -rf ~/.config/verdaccio/storage/@rancher/*
|
|
70
70
|
fi
|
|
71
71
|
|
|
72
|
-
export
|
|
72
|
+
export NPM_REGISTRY=$VERDACCIO_NPM_REGISTRY
|
|
73
73
|
export NUXT_TELEMETRY_DISABLED=1
|
|
74
74
|
|
|
75
75
|
# Remove test package from previous run, if present
|
|
76
|
-
if [ $TEST_PERSIST_BUILD != "true" ]; then
|
|
76
|
+
if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
|
|
77
77
|
echo "Removing folder ${BASE_DIR}/pkg/test-pkg"
|
|
78
78
|
rm -rf ${BASE_DIR}/pkg/test-pkg
|
|
79
79
|
fi
|
|
@@ -81,20 +81,34 @@ fi
|
|
|
81
81
|
# We need to patch the version number of the shell, otherwise if we are running
|
|
82
82
|
# with the currently published version, things will fail as those versions
|
|
83
83
|
# are already published and Verdaccio will check, since it is a read-through cache
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
update_version_in_package_json() {
|
|
85
|
+
local package_json_path="$1"
|
|
86
|
+
local version="$2"
|
|
86
87
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
sed -i.bak -e "s/\"version\": \"[0-9]*.[0-9]*.[0-9]*\(-alpha\.[0-9]*\|-release[0-9]*.[0-9]*.[0-9]*\|-rc\.[0-9]*\)\{0,1\}\",/\"version\": \"${version}\",/g" "$package_json_path"
|
|
89
|
+
rm "${package_json_path}.bak"
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
update_version_in_package_json "${SHELL_DIR}/package.json" "${SHELL_VERSION}"
|
|
93
|
+
update_version_in_package_json "${BASE_DIR}/pkg/rancher-components/package.json" "${SHELL_VERSION}"
|
|
94
|
+
update_version_in_package_json "${BASE_DIR}/creators/extension/package.json" "${SHELL_VERSION}"
|
|
90
95
|
|
|
91
|
-
# Publish shell
|
|
92
|
-
echo "Publishing
|
|
96
|
+
# Publish shell pkg (tag is needed as publish-shell is optimized to work with release-shell-pkg workflow)
|
|
97
|
+
echo "Publishing Shell package to local registry"
|
|
93
98
|
yarn install
|
|
99
|
+
export TAG="shell-pkg-v${SHELL_VERSION}"
|
|
100
|
+
${SHELL_DIR}/scripts/publish-shell.sh
|
|
101
|
+
|
|
102
|
+
# Publish creators pkg (tag is needed as publish-shell is optimized to work with release-shell-pkg workflow)
|
|
103
|
+
echo "Publishing Creators package to local registry"
|
|
104
|
+
export TAG="creators-pkg-v${SHELL_VERSION}"
|
|
94
105
|
${SHELL_DIR}/scripts/publish-shell.sh
|
|
95
106
|
|
|
96
107
|
# Publish rancher components
|
|
97
108
|
yarn build:lib
|
|
109
|
+
|
|
110
|
+
npm set registry ${VERDACCIO_NPM_REGISTRY}
|
|
111
|
+
yarn config set registry ${VERDACCIO_NPM_REGISTRY}
|
|
98
112
|
yarn publish:lib
|
|
99
113
|
|
|
100
114
|
# We pipe into cat for cleaner logging - we need to set pipefail
|
|
@@ -107,26 +121,18 @@ if [ "${SKIP_STANDALONE}" == "false" ]; then
|
|
|
107
121
|
|
|
108
122
|
echo "Using temporary directory ${DIR}"
|
|
109
123
|
|
|
110
|
-
echo "Verifying
|
|
124
|
+
echo "Verifying extension creator"
|
|
111
125
|
|
|
112
|
-
yarn create @rancher/app test-app
|
|
113
|
-
pushd test-app
|
|
114
|
-
yarn install
|
|
126
|
+
FORCE_COLOR=true yarn create @rancher/extension test-pkg --app-name test-app | cat
|
|
115
127
|
|
|
116
|
-
|
|
128
|
+
pushd test-app > /dev/null
|
|
117
129
|
|
|
130
|
+
yarn install
|
|
118
131
|
FORCE_COLOR=true yarn build | cat
|
|
119
132
|
|
|
120
|
-
# Package creator
|
|
121
|
-
echo "Verifying package creator package"
|
|
122
|
-
yarn create @rancher/pkg test-pkg -i
|
|
123
|
-
|
|
124
|
-
echo "Building test package"
|
|
125
|
-
FORCE_COLOR=true yarn build-pkg test-pkg | cat
|
|
126
|
-
|
|
127
133
|
# Add test list component to the test package
|
|
128
134
|
# Validates rancher-components imports
|
|
129
|
-
mkdir pkg/test-pkg/list
|
|
135
|
+
mkdir -p pkg/test-pkg/list
|
|
130
136
|
cp ${SHELL_DIR}/list/catalog.cattle.io.clusterrepo.vue pkg/test-pkg/list
|
|
131
137
|
|
|
132
138
|
FORCE_COLOR=true yarn build-pkg test-pkg | cat
|
|
@@ -134,7 +140,7 @@ if [ "${SKIP_STANDALONE}" == "false" ]; then
|
|
|
134
140
|
echo "Cleaning temporary dir"
|
|
135
141
|
popd > /dev/null
|
|
136
142
|
|
|
137
|
-
if [ $TEST_PERSIST_BUILD != "true" ]; then
|
|
143
|
+
if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
|
|
138
144
|
echo "Removing folder ${DIR}"
|
|
139
145
|
rm -rf ${DIR}
|
|
140
146
|
fi
|
|
@@ -147,15 +153,16 @@ echo "Validating in-tree package"
|
|
|
147
153
|
|
|
148
154
|
yarn install
|
|
149
155
|
|
|
150
|
-
if [ $TEST_PERSIST_BUILD != "true" ]; then
|
|
156
|
+
if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
|
|
151
157
|
echo "Removing folder ./pkg/test-pkg"
|
|
152
158
|
rm -rf ./pkg/test-pkg
|
|
153
159
|
fi
|
|
154
160
|
|
|
155
|
-
yarn create @rancher/
|
|
161
|
+
yarn create @rancher/extension test-pkg -i
|
|
156
162
|
cp ${SHELL_DIR}/list/catalog.cattle.io.clusterrepo.vue ./pkg/test-pkg/list
|
|
157
163
|
FORCE_COLOR=true yarn build-pkg test-pkg | cat
|
|
158
|
-
|
|
164
|
+
|
|
165
|
+
if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
|
|
159
166
|
echo "Removing folder ./pkg/test-pkg"
|
|
160
167
|
rm -rf ./pkg/test-pkg
|
|
161
168
|
fi
|
|
@@ -168,9 +175,9 @@ function clone_repo_test_extension_build() {
|
|
|
168
175
|
echo -e "\nSetting up $REPO_NAME repository locally\n"
|
|
169
176
|
|
|
170
177
|
# set registry to default (to install all of the other dependencies)
|
|
171
|
-
yarn config set registry ${
|
|
178
|
+
yarn config set registry ${DEFAULT_NPM_REGISTRY}
|
|
172
179
|
|
|
173
|
-
if [ $TEST_PERSIST_BUILD != "true" ]; then
|
|
180
|
+
if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
|
|
174
181
|
echo "Removing folder ${BASE_DIR}/$REPO_NAME"
|
|
175
182
|
rm -rf ${BASE_DIR}/$REPO_NAME
|
|
176
183
|
fi
|
|
@@ -183,7 +190,7 @@ function clone_repo_test_extension_build() {
|
|
|
183
190
|
yarn install
|
|
184
191
|
|
|
185
192
|
# set registry to local verdaccio (to install new shell)
|
|
186
|
-
yarn config set registry ${
|
|
193
|
+
yarn config set registry ${VERDACCIO_NPM_REGISTRY}
|
|
187
194
|
|
|
188
195
|
# update package.json to use a specific version of shell
|
|
189
196
|
sed -i.bak -e "s/\"\@rancher\/shell\": \"[0-9]*.[0-9]*.[0-9]*\",/\"\@rancher\/shell\": \"${SHELL_VERSION}\",/g" package.json
|
|
@@ -209,16 +216,15 @@ function clone_repo_test_extension_build() {
|
|
|
209
216
|
popd
|
|
210
217
|
|
|
211
218
|
# delete folder
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
fi
|
|
216
|
-
yarn config set registry ${DEFAULT_YARN_REGISTRY}
|
|
219
|
+
echo "Removing folder ${BASE_DIR}/$REPO_NAME"
|
|
220
|
+
rm -rf ${BASE_DIR}/$REPO_NAME
|
|
221
|
+
yarn config set registry ${DEFAULT_NPM_REGISTRY}
|
|
217
222
|
}
|
|
218
223
|
|
|
219
224
|
# Here we just add the extension that we want to include as a check (all our official extensions should be included here)
|
|
220
225
|
# Don't forget to add the unit tests exception to clone_repo_test_extension_build function if a new extension has those
|
|
221
|
-
clone_repo_test_extension_build "kubewarden-ui" "kubewarden"
|
|
222
|
-
clone_repo_test_extension_build "elemental-ui" "elemental"
|
|
226
|
+
# clone_repo_test_extension_build "kubewarden-ui" "kubewarden"
|
|
227
|
+
# clone_repo_test_extension_build "elemental-ui" "elemental"
|
|
228
|
+
# clone_repo_test_extension_build "capi-ui-extension" "capi"
|
|
223
229
|
|
|
224
230
|
echo "All done"
|
package/scripts/vue-migrate.js
CHANGED
|
@@ -5,6 +5,7 @@ const fs = require('fs');
|
|
|
5
5
|
const glob = require('glob');
|
|
6
6
|
const semver = require('semver');
|
|
7
7
|
const path = require('path');
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* Init logger
|
|
10
11
|
*/
|
|
@@ -226,7 +227,7 @@ const packageUpdatesResolution = (file, oldContent) => {
|
|
|
226
227
|
* Verify GitHub Actions use of current node version, e.g. node-version: '<18'
|
|
227
228
|
*/
|
|
228
229
|
const gitHubActionsUpdates = () => {
|
|
229
|
-
const files = glob.sync(params.paths || '.github/workflows/**.{yml,yaml}', { ignore });
|
|
230
|
+
const files = glob.sync(params.paths || '.github/{actions,workflows}/**.{yml,yaml}', { ignore });
|
|
230
231
|
|
|
231
232
|
files.forEach((file) => {
|
|
232
233
|
let content = fs.readFileSync(file, 'utf8');
|
|
@@ -359,8 +360,10 @@ const vueSyntaxUpdates = () => {
|
|
|
359
360
|
// TODO: Add missing import
|
|
360
361
|
|
|
361
362
|
[/( {4,}default)\(\)\s*\{([\s\S]*?)this\.([\s\S]*?\}\s*\})/g, (_, before, middle, after) => `${ before }(props) {${ middle }props.${ after }`, 'https://v3-migration.vuejs.org/breaking-changes/props-default-this.html'],
|
|
362
|
-
[`value=`, `modelValue=`],
|
|
363
|
-
[`@input=`, `@update:modelValue=`],
|
|
363
|
+
// [`value=`, `modelValue=`],
|
|
364
|
+
// [`@input=`, `@update:modelValue=`],
|
|
365
|
+
[/\@input=\"((?!.*plainInputEvent).+)\"/g, (_, betweenQuotes) => `@update:value="${ betweenQuotes }"`], // Matches @input while avoiding `@input="($plainInputEvent) => onInput($plainInputEvent)"` which we used on plain <input elements since they differ in vue3
|
|
366
|
+
[`v-model=`, `v-model:value=`],
|
|
364
367
|
// [`v-bind.sync=`, `:modelValue=`, `https://v3-migration.vuejs.org/breaking-changes/v-model.html#using-v-bind-sync`],
|
|
365
368
|
// ['v-model=', ':modelValue=', ''],
|
|
366
369
|
[/:([a-z-0-9]+)\.sync/g, (_, propName) => `v-model:${ propName }`, `https://v3-migration.vuejs.org/breaking-changes/v-model.html#migration-strategy`],
|
|
@@ -524,7 +527,7 @@ const eslintUpdates = () => {
|
|
|
524
527
|
});
|
|
525
528
|
|
|
526
529
|
// Add the new rules if they don't exist
|
|
527
|
-
const eslintConfigPath = path.join(
|
|
530
|
+
const eslintConfigPath = path.join(process.cwd(), `${ file }`);
|
|
528
531
|
const eslintConfig = require(eslintConfigPath);
|
|
529
532
|
|
|
530
533
|
Object.keys(newRules).forEach((rule) => {
|