@rancher/shell 0.2.2 → 0.2.4
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/brand/csp/dark/rancher-logo.svg +148 -0
- package/assets/brand/csp/favicon.png +0 -0
- package/assets/brand/csp/metadata.json +3 -0
- package/assets/brand/csp/rancher-logo.svg +130 -0
- package/assets/styles/app.scss +2 -1
- package/assets/styles/global/_layout.scss +53 -0
- package/assets/styles/themes/_csp.scss +25 -0
- package/assets/styles/themes/_dark.scss +2 -1
- package/assets/styles/themes/_light.scss +2 -1
- package/assets/styles/vendor/vue-select.scss +0 -5
- package/assets/translations/en-us.yaml +45 -28
- package/chart/istio.vue +81 -22
- package/chart/logging/index.vue +20 -6
- package/chart/monitoring/alerting/index.vue +4 -1
- package/chart/monitoring/index.vue +41 -9
- package/chart/monitoring/prometheus/index.vue +33 -29
- package/chart/monitoring/steps/uninstall-v1.vue +8 -4
- package/chart/rancher-backup/S3.vue +43 -8
- package/chart/rancher-backup/index.vue +23 -5
- package/chart/rancher-gatekeeper.vue +10 -2
- package/cloud-credential/aws.vue +8 -2
- package/cloud-credential/digitalocean.vue +4 -1
- package/cloud-credential/gcp.vue +9 -2
- package/cloud-credential/generic.vue +6 -1
- package/cloud-credential/harvester.vue +4 -1
- package/cloud-credential/linode.vue +4 -1
- package/cloud-credential/s3.vue +4 -1
- package/components/.DS_Store +0 -0
- package/components/ActionDropdown.vue +4 -1
- package/components/ActionMenu.vue +17 -4
- package/components/AdvancedSection.vue +6 -1
- package/components/Alert.vue +5 -1
- package/components/AssignTo.vue +24 -6
- package/components/AsyncButton.vue +10 -0
- package/components/AwsComplianceBanner.vue +4 -1
- package/components/BackLink.vue +5 -1
- package/components/BannerGraphic.vue +16 -4
- package/components/BrandImage.vue +4 -1
- package/components/ButtonDropdown.vue +10 -3
- package/components/ButtonGroup.vue +17 -4
- package/components/Carousel.vue +26 -8
- package/components/ChartHeading.vue +5 -1
- package/components/ChartReadme.vue +17 -5
- package/components/ClusterBadge.vue +5 -1
- package/components/ClusterProviderIcon.vue +15 -3
- package/components/Collapse.vue +17 -5
- package/components/CollapsibleCard.vue +10 -4
- package/components/CommunityLinks.vue +32 -9
- package/components/CompoundStatusBadge.vue +4 -1
- package/components/ContainerResourceLimit.vue +12 -3
- package/components/CopyToClipboardText.vue +10 -2
- package/components/CountBox.vue +13 -3
- package/components/CountGauge.vue +28 -5
- package/components/CruResource.vue +88 -23
- package/components/CruResourceFooter.vue +1 -1
- package/components/DashboardMetrics.vue +12 -3
- package/components/DashboardOptions.vue +14 -3
- package/components/DetailText.vue +28 -6
- package/components/DetailTop.vue +57 -12
- package/components/Dialog.vue +17 -5
- package/components/EmberPage.vue +23 -5
- package/components/EmberPageView.vue +4 -1
- package/components/EtcdInfoBanner.vue +5 -1
- package/components/ExplorerMembers.vue +7 -9
- package/components/ExplorerProjectsNamespaces.vue +42 -10
- package/components/FileDiff.vue +5 -1
- package/components/FixedBanner.vue +27 -7
- package/components/Flag.vue +8 -2
- package/components/Glance.vue +11 -2
- package/components/GlobalRoleBindings.vue +24 -5
- package/components/GradientBox.vue +5 -1
- package/components/GrafanaDashboard.vue +19 -5
- package/components/GrowlManager.vue +27 -6
- package/components/HardwareResourceGauge.vue +8 -2
- package/components/HarvesterServiceAddOnConfig.vue +4 -1
- package/components/IconMessage.vue +8 -2
- package/components/Import.vue +37 -8
- package/components/IndentedPanel.vue +4 -1
- package/components/InfoBox.vue +8 -2
- package/components/KeyValueView.vue +29 -7
- package/components/LandingPagePreference.vue +13 -2
- package/components/LazyImage.vue +5 -1
- package/components/Loading.vue +13 -3
- package/components/LocaleSelector.vue +10 -2
- package/components/Markdown.vue +5 -1
- package/components/MessageLink.vue +19 -4
- package/components/ModalWithCard.vue +24 -8
- package/components/MoveModal.vue +35 -7
- package/components/PercentageBar.vue +9 -2
- package/components/ProgressBarMulti.vue +4 -1
- package/components/PromptChangePassword.vue +17 -4
- package/components/PromptModal.vue +7 -1
- package/components/PromptRemove.vue +31 -10
- package/components/PromptRestore.vue +35 -10
- package/components/Questions/Array.vue +4 -1
- package/components/Questions/Boolean.vue +4 -1
- package/components/Questions/Enum.vue +4 -1
- package/components/Questions/Float.vue +4 -1
- package/components/Questions/Int.vue +4 -1
- package/components/Questions/QuestionMap.vue +4 -1
- package/components/Questions/Reference.vue +8 -2
- package/components/Questions/String.vue +4 -1
- package/components/Questions/index.vue +10 -2
- package/components/Random.vue +11 -3
- package/components/RelatedResources.vue +8 -2
- package/components/RelatedWorkloadsTable.vue +5 -1
- package/components/ResourceCancelModal.vue +15 -3
- package/components/ResourceDetail/Masthead.vue +31 -7
- package/components/ResourceList/Masthead.vue +6 -4
- package/components/ResourceList/ResourceLoadingIndicator.vue +8 -2
- package/components/ResourceList/index.vue +11 -8
- package/components/ResourceSummary.vue +13 -3
- package/components/ResourceTable.vue +59 -11
- package/components/ResourceYaml.vue +8 -2
- package/components/RoleBindings.vue +20 -3
- package/components/SelectIconGrid.vue +29 -7
- package/components/SimpleBox.vue +14 -3
- package/components/SingleClusterInfo.vue +40 -9
- package/components/SortableTable/THead.vue +29 -8
- package/components/SortableTable/filtering.js +7 -0
- package/components/SortableTable/index.vue +204 -45
- package/components/Tabbed/Tab.vue +9 -2
- package/components/Tabbed/index.vue +32 -7
- package/components/TableSparkLine.vue +4 -1
- package/components/Tip.vue +4 -1
- package/components/Wizard.vue +105 -23
- package/components/YamlEditor.vue +5 -1
- package/components/__tests__/.DS_Store +0 -0
- package/components/auth/AllowedPrincipals.vue +21 -5
- package/components/auth/AuthBanner.vue +21 -5
- package/components/auth/AzureWarning.vue +5 -1
- package/components/auth/Principal.vue +37 -9
- package/components/auth/RoleDetailEdit.vue +34 -10
- package/components/auth/SelectPrincipal.vue +20 -3
- package/components/auth/login/github.vue +5 -1
- package/components/auth/login/ldap.vue +10 -2
- package/components/auth/login/oauth.vue +6 -1
- package/components/auth/login/oidc.vue +6 -1
- package/components/auth/login/saml.vue +6 -1
- package/components/fleet/FleetBundles.vue +9 -2
- package/components/fleet/FleetClusters.vue +29 -6
- package/components/fleet/FleetIntro.vue +5 -2
- package/components/fleet/FleetRepos.vue +23 -4
- package/components/fleet/FleetStatus.vue +16 -4
- package/components/fleet/FleetSummary.vue +10 -2
- package/components/fleet/ForceDirectedTreeChart/index.vue +5 -3
- package/components/fleet/ResourcesSummary.vue +5 -1
- package/components/form/ArrayList.vue +31 -8
- package/components/form/ArrayListGrouped.vue +9 -3
- package/components/form/ArrayListSelect.vue +6 -1
- package/components/form/BannerSettings.vue +8 -2
- package/components/form/ChangePassword.vue +50 -10
- package/components/form/ColorInput.vue +28 -5
- package/components/form/Command.vue +5 -2
- package/components/form/EnvVars.vue +4 -1
- package/components/form/Error.vue +10 -2
- package/components/form/FileImageSelector.vue +1 -1
- package/components/form/FileSelector.vue +8 -2
- package/components/form/Footer.vue +14 -4
- package/components/form/GithubPicker.vue +16 -9
- package/components/form/HookOption.vue +5 -1
- package/components/form/InputWithSelect.vue +1 -1
- package/components/form/KeyValue.vue +81 -19
- package/components/form/LabeledSelect.vue +55 -8
- package/components/form/Labels.vue +1 -1
- package/components/form/LifecycleHooks.vue +10 -2
- package/components/form/MatchExpressions.vue +11 -3
- package/components/form/Members/ClusterPermissionsEditor.vue +21 -4
- package/components/form/Members/MembershipEditor.vue +11 -2
- package/components/form/NameNsDescription.vue +16 -10
- package/components/form/Networking.vue +3 -3
- package/components/form/NodeAffinity.vue +4 -1
- package/components/form/NodeScheduling.vue +5 -1
- package/components/form/Password.vue +32 -7
- package/components/form/PlusMinus.vue +18 -3
- package/components/form/PodAffinity.vue +12 -5
- package/components/form/PodSecurity.vue +20 -4
- package/components/form/Ports.vue +37 -11
- package/components/form/Probe.vue +18 -4
- package/components/form/ProjectMemberEditor.vue +24 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +4 -1
- package/components/form/ResourceQuota/Project.vue +7 -1
- package/components/form/ResourceQuota/ProjectRow.vue +11 -2
- package/components/form/ResourceSelector.vue +145 -0
- package/components/form/ResourceTabs/index.vue +38 -7
- package/components/form/RuleSelector.vue +15 -4
- package/components/form/SecretSelector.vue +4 -1
- package/components/form/Security.vue +2 -2
- package/components/form/Select.vue +8 -3
- package/components/form/SelectOrCreateAuthSecret.vue +43 -9
- package/components/form/ServiceNameSelect.vue +2 -2
- package/components/form/ServicePorts.vue +58 -17
- package/components/form/Tolerations.vue +34 -7
- package/components/form/ValueFromResource.vue +10 -2
- package/components/form/WorkloadPorts.vue +36 -8
- package/components/form/__tests__/MatchExpressions.test.ts +1 -2
- package/components/formatter/AppSummaryGraph.vue +24 -6
- package/components/formatter/BadgeStateFormatter.vue +4 -1
- package/components/formatter/Checked.vue +4 -1
- package/components/formatter/ClusterLink.vue +4 -1
- package/components/formatter/Date.vue +1 -1
- package/components/formatter/DelayedValue.vue +4 -1
- package/components/formatter/Endpoints.vue +5 -1
- package/components/formatter/ExternalLink.vue +5 -1
- package/components/formatter/FleetSummaryGraph.vue +20 -5
- package/components/formatter/IconText.vue +4 -1
- package/components/formatter/ImagePercentageBar.vue +5 -1
- package/components/formatter/IngressFullPath.vue +6 -1
- package/components/formatter/IngressTarget.vue +22 -5
- package/components/formatter/InternalExternalIP.vue +12 -2
- package/components/formatter/KeyValue.vue +5 -1
- package/components/formatter/Link.vue +30 -6
- package/components/formatter/LinkDetail.vue +4 -1
- package/components/formatter/LinkDetailImage.vue +1 -1
- package/components/formatter/ListLink.vue +10 -2
- package/components/formatter/ListLinkDetail.vue +6 -1
- package/components/formatter/LiveDate.vue +13 -3
- package/components/formatter/LiveExpiryDate.vue +18 -4
- package/components/formatter/LivePodRestarts.vue +4 -1
- package/components/formatter/MachineSummaryGraph.vue +25 -6
- package/components/formatter/Number.vue +4 -1
- package/components/formatter/PodsUsage.vue +4 -1
- package/components/formatter/Principal.vue +5 -1
- package/components/formatter/PrincipalGroupBindings.vue +4 -1
- package/components/formatter/ReceiverIcons.vue +9 -3
- package/components/formatter/RunBookLink.vue +6 -1
- package/components/formatter/Scale.vue +45 -10
- package/components/formatter/ScanResult.vue +4 -1
- package/components/formatter/SecretData.vue +5 -2
- package/components/formatter/SecretType.vue +4 -1
- package/components/formatter/ServiceTargets.vue +16 -4
- package/components/formatter/Shortened.vue +8 -2
- package/components/formatter/VirtualServiceGateways.vue +8 -2
- package/components/formatter/Weight.vue +19 -4
- package/components/formatter/WorkloadDetailEndpoints.vue +5 -1
- package/components/formatter/WorkloadHealthScale.vue +42 -8
- package/components/graph/AspectPreserver.vue +14 -3
- package/components/graph/Bar.vue +14 -3
- package/components/graph/Circle.vue +36 -7
- package/components/graph/HalfCircle.vue +6 -1
- package/components/graph/LinePlot.vue +3 -6
- package/components/graph/ProgressArc.vue +8 -2
- package/components/nav/GlobalLoading.vue +4 -1
- package/components/nav/Group.vue +39 -9
- package/components/nav/Header.vue +154 -37
- package/components/nav/Jump.vue +6 -2
- package/components/nav/NamespaceFilter.vue +112 -24
- package/components/nav/TopLevelMenu.vue +108 -24
- package/components/nav/Type.vue +18 -4
- package/components/nav/WindowManager/ChartReadme.vue +4 -1
- package/components/nav/WindowManager/ContainerLogs.vue +92 -19
- package/components/nav/WindowManager/ContainerShell.vue +26 -6
- package/components/nav/WindowManager/Window.vue +8 -2
- package/components/nav/WindowManager/index.vue +17 -4
- package/config/labels-annotations.js +5 -42
- package/config/private-label.js +5 -2
- package/config/product/explorer.js +8 -2
- package/config/roles.ts +2 -1
- package/config/{settings.js → settings.ts} +33 -50
- package/config/types.js +2 -0
- package/content/docs/en-us/getting-started.md +3 -3
- package/content/docs/en-us/whats-new.md +9 -123
- package/core/plugins.js +11 -8
- package/creators/app/{files/.eslintignore → .eslintignore} +0 -0
- package/creators/app/{files/.eslintrc.js → .eslintrc.js} +0 -0
- package/creators/app/{files/.vscode → .vscode}/settings.json +0 -0
- package/creators/app/{files/babel.config.js → babel.config.js} +0 -0
- package/creators/app/init +17 -16
- package/creators/app/{files/nuxt.config.js → nuxt.config.js} +0 -0
- package/creators/app/package.json +1 -7
- package/creators/app/{files/tsconfig.json → tsconfig.json} +1 -2
- package/creators/pkg/{files/babel.config.js → babel.config.js} +0 -0
- package/creators/pkg/{files/index.ts → index.ts} +0 -0
- package/creators/pkg/init +1 -1
- package/creators/pkg/nuxt.config.js +6 -0
- package/creators/pkg/package-lock.json +37 -0
- package/creators/pkg/package.json +1 -1
- package/creators/pkg/{files/tsconfig.json → tsconfig.json} +12 -13
- package/creators/pkg/{files/vue.config.js → vue.config.js} +0 -0
- package/detail/autoscaling.horizontalpodautoscaler/index.vue +12 -3
- package/detail/catalog.cattle.io.app.vue +41 -8
- package/detail/catalog.cattle.io.clusterrepo.vue +4 -1
- package/detail/cis.cattle.io.clusterscan.vue +23 -5
- package/detail/configmap.vue +18 -4
- package/detail/constraints.gatekeeper.sh.constraint.vue +4 -1
- package/detail/fleet.cattle.io.cluster.vue +14 -3
- package/detail/fleet.cattle.io.clustergroup.vue +9 -2
- package/detail/fleet.cattle.io.gitrepo.vue +16 -3
- package/detail/harvesterhci.io.management.cluster.vue +5 -1
- package/detail/helm.cattle.io.projecthelmchart.vue +49 -13
- package/detail/management.cattle.io.fleetworkspace.vue +19 -4
- package/detail/management.cattle.io.roletemplate.vue +4 -1
- package/detail/management.cattle.io.user.vue +26 -5
- package/detail/namespace.vue +6 -4
- package/detail/networking.k8s.io.ingress.vue +16 -3
- package/detail/node.vue +83 -18
- package/detail/pod.vue +27 -5
- package/detail/provisioning.cattle.io.cluster.vue +195 -43
- package/detail/secret.vue +78 -19
- package/detail/service.vue +9 -2
- package/detail/workload/index.vue +81 -17
- package/dialog/AddClusterMemberDialog.vue +25 -6
- package/dialog/AddCustomBadgeDialog.vue +43 -10
- package/dialog/AddProjectMemberDialog.vue +27 -7
- package/dialog/AddonConfigConfirmationDialog.vue +17 -4
- package/dialog/DiagnosticTimingsDialog.vue +27 -6
- package/dialog/DrainNode.vue +46 -11
- package/dialog/ForceMachineRemoveDialog.vue +35 -8
- package/dialog/GenericPrompt.vue +28 -7
- package/dialog/RollbackWorkloadDialog.vue +45 -11
- package/dialog/RotateCertificatesDialog.vue +31 -6
- package/dialog/RotateEncryptionKeyDialog.vue +41 -10
- package/dialog/SaveAsRKETemplateDialog.vue +31 -7
- package/dialog/ScaleMachineDownDialog.vue +13 -3
- package/edit/__tests__/management.cattle.io.setting.test.ts +87 -0
- package/edit/auth/azuread.vue +20 -6
- package/edit/auth/github.vue +52 -11
- package/edit/auth/googleoauth.vue +81 -17
- package/edit/auth/ldap/config.vue +164 -31
- package/edit/auth/ldap/index.vue +29 -7
- package/edit/auth/oidc.vue +36 -8
- package/edit/auth/saml.vue +57 -12
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +9 -2
- package/edit/autoscaling.horizontalpodautoscaler/index.vue +23 -6
- package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +8 -2
- package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +16 -4
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +13 -3
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +9 -2
- package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +6 -1
- package/edit/catalog.cattle.io.clusterrepo.vue +15 -3
- package/edit/cis.cattle.io.clusterscan.vue +53 -11
- package/edit/cis.cattle.io.clusterscanbenchmark.vue +15 -3
- package/edit/cis.cattle.io.clusterscanprofile.vue +13 -3
- package/edit/configmap.vue +5 -1
- package/edit/constraints.gatekeeper.sh.constraint/index.vue +40 -9
- package/edit/fleet.cattle.io.cluster.vue +6 -2
- package/edit/fleet.cattle.io.clustergroup.vue +12 -3
- package/edit/fleet.cattle.io.gitrepo.vue +25 -5
- package/edit/group.principal.vue +6 -1
- package/edit/harvesterhci.io.management.cluster.vue +22 -5
- package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +11 -2
- package/edit/logging-flow/Match.vue +2 -2
- package/edit/logging-flow/index.vue +67 -14
- package/edit/logging.banzaicloud.io.output/index.vue +37 -8
- package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +7 -2
- package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -4
- package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +24 -4
- package/edit/logging.banzaicloud.io.output/providers/datadog.vue +20 -5
- package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +21 -5
- package/edit/logging.banzaicloud.io.output/providers/file.vue +6 -1
- package/edit/logging.banzaicloud.io.output/providers/forward.vue +8 -3
- package/edit/logging.banzaicloud.io.output/providers/gcs.vue +25 -5
- package/edit/logging.banzaicloud.io.output/providers/gelf.vue +46 -8
- package/edit/logging.banzaicloud.io.output/providers/kafka.vue +26 -6
- package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +7 -2
- package/edit/logging.banzaicloud.io.output/providers/logdna.vue +20 -4
- package/edit/logging.banzaicloud.io.output/providers/logz.vue +8 -3
- package/edit/logging.banzaicloud.io.output/providers/loki.vue +34 -8
- package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/s3.vue +25 -5
- package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +33 -7
- package/edit/logging.banzaicloud.io.output/providers/syslog.vue +57 -12
- package/edit/management.cattle.io.clusterroletemplatebinding.vue +10 -2
- package/edit/management.cattle.io.fleetworkspace.vue +17 -4
- package/edit/management.cattle.io.project.vue +7 -1
- package/edit/management.cattle.io.roletemplate.vue +4 -1
- package/edit/management.cattle.io.setting.vue +71 -30
- package/edit/management.cattle.io.user.vue +4 -1
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +24 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +24 -5
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +29 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +12 -3
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +50 -9
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +31 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +29 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +8 -2
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +36 -7
- package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +24 -6
- package/edit/monitoring.coreos.com.prometheusrule/GroupRules.vue +16 -6
- package/edit/monitoring.coreos.com.prometheusrule/index.vue +10 -2
- package/edit/monitoring.coreos.com.receiver/auth.vue +36 -7
- package/edit/monitoring.coreos.com.receiver/index.vue +53 -11
- package/edit/monitoring.coreos.com.receiver/tls.vue +22 -4
- package/edit/monitoring.coreos.com.receiver/types/email.vue +48 -8
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +32 -6
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +22 -4
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -1
- package/edit/monitoring.coreos.com.receiver/types/webhook.banner.vue +5 -1
- package/edit/monitoring.coreos.com.receiver/types/webhook.vue +31 -6
- package/edit/monitoring.coreos.com.route.vue +71 -15
- package/edit/namespace.vue +35 -7
- package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +12 -3
- package/edit/networking.istio.io.destinationrule/index.vue +5 -3
- package/edit/networking.k8s.io.ingress/Certificate.vue +10 -2
- package/edit/networking.k8s.io.ingress/Certificates.vue +6 -1
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +16 -4
- package/edit/networking.k8s.io.ingress/Rule.vue +21 -5
- package/edit/networking.k8s.io.ingress/RulePath.vue +27 -6
- package/edit/networking.k8s.io.ingress/Rules.vue +7 -1
- package/edit/networking.k8s.io.ingress/index.vue +52 -9
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +20 -4
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +8 -2
- package/edit/networking.k8s.io.networkpolicy/index.vue +36 -8
- package/edit/node.vue +13 -3
- package/edit/persistentvolume/index.vue +48 -8
- package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +19 -3
- package/edit/persistentvolume/plugins/azureDisk.vue +20 -3
- package/edit/persistentvolume/plugins/azureFile.vue +18 -3
- package/edit/persistentvolume/plugins/cephfs.vue +35 -6
- package/edit/persistentvolume/plugins/cinder.vue +24 -4
- package/edit/persistentvolume/plugins/csi.vue +72 -12
- package/edit/persistentvolume/plugins/fc.vue +23 -4
- package/edit/persistentvolume/plugins/flexVolume.vue +30 -5
- package/edit/persistentvolume/plugins/flocker.vue +12 -2
- package/edit/persistentvolume/plugins/gcePersistentDisk.vue +19 -3
- package/edit/persistentvolume/plugins/glusterfs.vue +12 -2
- package/edit/persistentvolume/plugins/hostPath.vue +12 -2
- package/edit/persistentvolume/plugins/iscsi.vue +54 -9
- package/edit/persistentvolume/plugins/local.vue +6 -1
- package/edit/persistentvolume/plugins/longhorn.vue +13 -2
- package/edit/persistentvolume/plugins/nfs.vue +12 -2
- package/edit/persistentvolume/plugins/photonPersistentDisk.vue +12 -2
- package/edit/persistentvolume/plugins/portworxVolume.vue +12 -2
- package/edit/persistentvolume/plugins/quobyte.vue +24 -4
- package/edit/persistentvolume/plugins/rbd.vue +47 -8
- package/edit/persistentvolume/plugins/scaleIO.vue +54 -9
- package/edit/persistentvolume/plugins/storageos.vue +30 -5
- package/edit/persistentvolume/plugins/vsphereVolume.vue +24 -4
- package/edit/persistentvolumeclaim.vue +69 -15
- package/edit/policy.poddisruptionbudget.vue +149 -0
- package/edit/provisioning.cattle.io.cluster/ACE.vue +6 -1
- package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +4 -1
- package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +61 -15
- package/edit/provisioning.cattle.io.cluster/DrainOptions.vue +24 -4
- package/edit/provisioning.cattle.io.cluster/Labels.vue +4 -1
- package/edit/provisioning.cattle.io.cluster/MachinePool.vue +31 -8
- package/edit/provisioning.cattle.io.cluster/RegistryConfigs.vue +16 -3
- package/edit/provisioning.cattle.io.cluster/RegistryMirrors.vue +4 -1
- package/edit/provisioning.cattle.io.cluster/S3Config.vue +35 -6
- package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +21 -5
- package/edit/provisioning.cattle.io.cluster/import.vue +23 -5
- package/edit/provisioning.cattle.io.cluster/index.vue +9 -0
- package/edit/provisioning.cattle.io.cluster/rke2.vue +203 -64
- package/edit/resources.cattle.io.backup.vue +42 -8
- package/edit/resources.cattle.io.restore.vue +53 -11
- package/edit/secret/basic.vue +12 -2
- package/edit/secret/index.vue +29 -7
- package/edit/secret/registry.vue +22 -4
- package/edit/secret/ssh.vue +10 -2
- package/edit/secret/tls.vue +10 -2
- package/edit/service.vue +12 -3
- package/edit/serviceaccount.vue +6 -3
- package/edit/storage.k8s.io.storageclass/index.vue +15 -3
- package/edit/storage.k8s.io.storageclass/provisioners/custom.vue +6 -1
- package/edit/storage.k8s.io.storageclass/provisioners/driver.longhorn.io.vue +6 -1
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +20 -3
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-disk.vue +12 -2
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-file.vue +18 -3
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/cinder.vue +13 -2
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +14 -2
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/glusterfs.vue +54 -9
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/portworx-volume.vue +42 -7
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/quobyte.vue +48 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/rbd.vue +66 -11
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/scaleio.vue +48 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/storageos.vue +30 -5
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +36 -6
- package/edit/token.vue +48 -10
- package/edit/workload/Job.vue +20 -5
- package/edit/workload/Upgrading.vue +28 -7
- package/edit/workload/index.vue +244 -48
- package/edit/workload/storage/azureDisk.vue +5 -1
- package/edit/workload/storage/azureFile.vue +5 -1
- package/edit/workload/storage/csi/driver.longhorn.io.vue +6 -1
- package/edit/workload/storage/csi/index.vue +9 -2
- package/edit/workload/storage/ephemeralVolume/index.vue +38 -8
- package/edit/workload/storage/gcePersistentDisk.vue +10 -2
- package/edit/workload/storage/hostPath.vue +18 -3
- package/edit/workload/storage/persistentVolumeClaim/index.vue +4 -1
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +26 -5
- package/edit/workload/storage/vsphereVolume.vue +10 -2
- package/layouts/blank.vue +1 -1
- package/layouts/default.vue +60 -65
- package/layouts/error.vue +25 -5
- package/layouts/home.vue +17 -4
- package/layouts/plain.vue +13 -3
- package/layouts/unauthenticated.vue +1 -1
- package/list/catalog.cattle.io.app.vue +15 -2
- package/list/catalog.cattle.io.clusterrepo.vue +5 -0
- package/list/cis.cattle.io.clusterscan.vue +6 -0
- package/list/fleet.cattle.io.bundle.vue +14 -2
- package/list/fleet.cattle.io.cluster.vue +10 -1
- package/list/fleet.cattle.io.clustergroup.vue +14 -2
- package/list/fleet.cattle.io.clusterregistrationtoken.vue +11 -3
- package/list/fleet.cattle.io.gitrepo.vue +6 -0
- package/list/group.principal.vue +11 -1
- package/list/harvesterhci.io.management.cluster.vue +25 -6
- package/list/helm.cattle.io.projecthelmchart.vue +23 -5
- package/list/logging.banzaicloud.io.clusterflow.vue +11 -1
- package/list/logging.banzaicloud.io.flow.vue +11 -1
- package/list/management.cattle.io.cluster.vue +12 -1
- package/list/management.cattle.io.feature.vue +71 -15
- package/list/management.cattle.io.setting.vue +44 -10
- package/list/management.cattle.io.user.vue +12 -1
- package/list/monitoring.coreos.com.alertmanagerconfig.vue +6 -0
- package/list/namespace.vue +8 -0
- package/list/node.vue +14 -2
- package/list/persistentvolume.vue +13 -1
- package/list/persistentvolumeclaim.vue +6 -0
- package/list/provisioning.cattle.io.cluster.vue +23 -4
- package/list/service.vue +6 -0
- package/list/ui.cattle.io.navlink.vue +20 -3
- package/list/workload.vue +15 -2
- package/machine-config/amazonec2.vue +12 -3
- package/machine-config/azure.vue +16 -7
- package/machine-config/digitalocean.vue +4 -1
- package/machine-config/generic.vue +4 -1
- package/machine-config/harvester.vue +23 -6
- package/machine-config/linode.vue +4 -1
- package/machine-config/vmwarevsphere.vue +91 -21
- package/mixins/__tests__/create-edit-view.test.ts +19 -0
- package/mixins/brand.js +12 -3
- package/mixins/form-validation.js +108 -33
- package/models/clusterroletemplatebinding.js +2 -5
- package/models/management.cattle.io.cluster.js +7 -1
- package/models/secret.js +9 -1
- package/models/workload.js +3 -3
- package/nuxt.config.js +28 -10
- package/package.json +2 -2
- package/pages/about.vue +41 -9
- package/pages/account/index.vue +20 -5
- package/pages/auth/login.vue +83 -22
- package/pages/auth/logout.vue +1 -1
- package/pages/auth/setup.vue +48 -12
- package/pages/auth/verify.vue +1 -1
- package/pages/c/_cluster/_product/members/index.vue +3 -1
- package/pages/c/_cluster/_product/namespaces.vue +4 -1
- package/pages/c/_cluster/apps/charts/chart.vue +124 -27
- package/pages/c/_cluster/apps/charts/index.vue +35 -8
- package/pages/c/_cluster/apps/charts/install.vue +200 -48
- package/pages/c/_cluster/auth/config/_id.vue +4 -1
- package/pages/c/_cluster/auth/config/index.vue +6 -2
- package/pages/c/_cluster/auth/group.principal/assign-edit.vue +10 -5
- package/pages/c/_cluster/auth/roles/index.vue +33 -7
- package/pages/c/_cluster/explorer/ConfigBadge.vue +4 -1
- package/pages/c/_cluster/explorer/index.vue +109 -24
- package/pages/c/_cluster/explorer/tools/index.vue +76 -17
- package/pages/c/_cluster/explorer/tools/pages/_page.vue +4 -1
- package/pages/c/_cluster/fleet/index.vue +9 -2
- package/pages/c/_cluster/gatekeeper/index.vue +4 -1
- package/pages/c/_cluster/istio/index.vue +20 -8
- package/pages/c/_cluster/legacy/pages/_page.vue +4 -1
- package/pages/c/_cluster/legacy/project/_page.vue +4 -1
- package/pages/c/_cluster/legacy/project/index.vue +4 -1
- package/pages/c/_cluster/legacy/project/pipelines.vue +27 -5
- package/pages/c/_cluster/logging/index.vue +4 -1
- package/pages/c/_cluster/longhorn/index.vue +16 -5
- package/pages/c/_cluster/manager/cloudCredential/index.vue +15 -3
- package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +1 -1
- package/pages/c/_cluster/monitoring/index.vue +14 -5
- package/pages/c/_cluster/monitoring/monitor/index.vue +24 -6
- package/pages/c/_cluster/monitoring/route-receiver/index.vue +25 -6
- package/pages/c/_cluster/neuvector/index.vue +16 -5
- package/pages/c/_cluster/settings/DefaultLinksEditor.vue +25 -7
- package/pages/c/_cluster/settings/banners.vue +10 -2
- package/pages/c/_cluster/settings/brand.vue +75 -17
- package/pages/c/_cluster/settings/links.vue +16 -4
- package/pages/c/_cluster/settings/performance.vue +22 -5
- package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +19 -4
- package/pages/c/_cluster/uiplugins/InstallDialog.vue +14 -3
- package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +54 -12
- package/pages/c/_cluster/uiplugins/RemoveUIPlugins.vue +18 -4
- package/pages/c/_cluster/uiplugins/SetupUIPlugins.vue +14 -3
- package/pages/c/_cluster/uiplugins/UninstallDialog.vue +9 -2
- package/pages/c/_cluster/uiplugins/index.vue +149 -34
- package/pages/diagnostic.vue +14 -5
- package/pages/docs/_doc.vue +22 -5
- package/pages/fail-whale.vue +26 -6
- package/pages/home.vue +54 -14
- package/pages/prefs.vue +65 -22
- package/pages/rio/mesh.vue +6 -2
- package/pages/support/index.vue +35 -7
- package/plugins/steve/subscribe.js +1 -1
- package/promptRemove/management.cattle.io.globalrole.vue +9 -3
- package/promptRemove/management.cattle.io.project.vue +14 -5
- package/promptRemove/management.cattle.io.roletemplate.vue +9 -3
- package/promptRemove/pod.vue +15 -3
- package/rancher-components/BadgeState/BadgeState.spec.ts +12 -0
- package/rancher-components/BadgeState/BadgeState.vue +107 -0
- package/rancher-components/BadgeState/index.ts +1 -0
- package/rancher-components/Banner/Banner.test.ts +13 -0
- package/rancher-components/Banner/Banner.vue +163 -0
- package/rancher-components/Banner/index.ts +1 -0
- package/rancher-components/Card/Card.vue +150 -0
- package/rancher-components/Card/index.ts +1 -0
- package/rancher-components/Form/Checkbox/Checkbox.test.ts +77 -0
- package/rancher-components/Form/Checkbox/Checkbox.vue +395 -0
- package/rancher-components/Form/Checkbox/index.ts +1 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +29 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +343 -0
- package/rancher-components/Form/LabeledInput/index.ts +1 -0
- package/rancher-components/Form/Radio/RadioButton.vue +270 -0
- package/rancher-components/Form/Radio/RadioGroup.vue +235 -0
- package/rancher-components/Form/Radio/index.ts +2 -0
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +169 -0
- package/rancher-components/Form/TextArea/index.ts +1 -0
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +107 -0
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +137 -0
- package/rancher-components/Form/ToggleSwitch/index.ts +1 -0
- package/rancher-components/Form/index.ts +5 -0
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +137 -0
- package/rancher-components/LabeledTooltip/index.ts +1 -0
- package/rancher-components/StringList/StringList.test.ts +80 -0
- package/rancher-components/StringList/StringList.vue +593 -0
- package/rancher-components/StringList/index.ts +1 -0
- package/scripts/publish-shell.sh +6 -39
- package/scripts/test-plugins-build.sh +5 -9
- package/store/prefs.js +1 -1
- package/types/form.ts +1 -0
- package/types/generic.ts +2 -0
- package/types/t.ts +1 -0
- package/types/userPreferences.d.ts +14 -0
- package/utils/array.ts +21 -0
- package/utils/favicon.js +2 -0
- package/utils/settings.ts +50 -0
- package/utils/validators/formRules/__tests__/index.test.ts +22 -1
- package/utils/validators/formRules/index.ts +68 -43
- package/creators/update/init +0 -54
- package/creators/update/package.json +0 -20
- package/creators/update/upgrade +0 -56
- package/scripts/record-deps.js +0 -37
- package/scripts/typegen.sh +0 -84
- package/types/shell/index.d.ts +0 -3046
- package/types/vue-shim.d +0 -20
|
@@ -175,8 +175,14 @@ export default {
|
|
|
175
175
|
</script>
|
|
176
176
|
|
|
177
177
|
<template>
|
|
178
|
-
<div
|
|
179
|
-
|
|
178
|
+
<div
|
|
179
|
+
id="windowmanager"
|
|
180
|
+
class="windowmanager"
|
|
181
|
+
>
|
|
182
|
+
<div
|
|
183
|
+
ref="tabs"
|
|
184
|
+
class="tabs"
|
|
185
|
+
>
|
|
180
186
|
<div
|
|
181
187
|
v-for="tab in tabs"
|
|
182
188
|
:key="tab.id"
|
|
@@ -184,9 +190,16 @@ export default {
|
|
|
184
190
|
:class="{'active': tab.id === active}"
|
|
185
191
|
@click="switchTo(tab.id)"
|
|
186
192
|
>
|
|
187
|
-
<i
|
|
193
|
+
<i
|
|
194
|
+
v-if="tab.icon"
|
|
195
|
+
class="icon"
|
|
196
|
+
:class="{['icon-'+ tab.icon]: true}"
|
|
197
|
+
/>
|
|
188
198
|
<span class="tab-label"> {{ tab.label }}</span>
|
|
189
|
-
<i
|
|
199
|
+
<i
|
|
200
|
+
class="closer icon icon-fw icon-x"
|
|
201
|
+
@click.stop="close(tab.id)"
|
|
202
|
+
/>
|
|
190
203
|
</div>
|
|
191
204
|
<div
|
|
192
205
|
class="resizer"
|
|
@@ -129,48 +129,11 @@ export const ANNOTATIONS_TO_FOLD = [
|
|
|
129
129
|
];
|
|
130
130
|
|
|
131
131
|
export const HCI = {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
IMAGE_ID: 'harvesterhci.io/imageId',
|
|
138
|
-
SSH_NAMES: 'harvesterhci.io/sshNames',
|
|
139
|
-
CIRD_NETWORK: 'k8s.v1.cni.cncf.io/networks',
|
|
140
|
-
NETWORK_IPS: 'network.harvesterhci.io/ips',
|
|
141
|
-
TEMPLATE_VERSION_CUSTOM_NAME: 'template-version.harvesterhci.io/customName',
|
|
142
|
-
CREATOR: 'harvesterhci.io/creator',
|
|
143
|
-
OS: 'harvesterhci.io/os',
|
|
144
|
-
NETWORK_TYPE: 'network.harvesterhci.io/type',
|
|
145
|
-
VM_NAME: 'harvesterhci.io/vmName',
|
|
146
|
-
VM_NAME_PREFIX: 'harvesterhci.io/vmNamePrefix',
|
|
147
|
-
VM_RESERVED_MEMORY: 'harvesterhci.io/reservedMemory',
|
|
148
|
-
MAINTENANCE_STATUS: 'harvesterhci.io/maintain-status',
|
|
149
|
-
HOST_CUSTOM_NAME: 'harvesterhci.io/host-custom-name',
|
|
150
|
-
HOST_CONSOLE_URL: 'harvesterhci.io/host-console-url',
|
|
151
|
-
BACKUP_TARGET: 'backup.harvesterhci.io/backup-target',
|
|
152
|
-
RESTORE_NAME: 'restore.harvesterhci.io/name',
|
|
153
|
-
NODE_ROLE_MASTER: 'node-role.kubernetes.io/master',
|
|
154
|
-
NODE_ROLE_CONTROL_PLANE: 'node-role.kubernetes.io/control-plane',
|
|
155
|
-
PROMOTE_STATUS: 'harvesterhci.io/promote-status',
|
|
156
|
-
MIGRATION_STATE: 'harvesterhci.io/migrationState',
|
|
157
|
-
VOLUME_CLAIM_TEMPLATE: 'harvesterhci.io/volumeClaimTemplates',
|
|
158
|
-
IMAGE_NAME: 'harvesterhci.io/image-name',
|
|
159
|
-
INIT_IP: 'etcd.rke2.cattle.io/node-address',
|
|
160
|
-
NODE_SCHEDULABLE: 'kubevirt.io/schedulable',
|
|
161
|
-
NETWORK_ROUTE: 'network.harvesterhci.io/route',
|
|
162
|
-
CLOUD_PROVIDER_IPAM: 'cloudprovider.harvesterhci.io/ipam',
|
|
163
|
-
OS_UPGRADE_IMAGE: 'harvesterhci.io/os-upgrade-image',
|
|
164
|
-
UPGRADE_IMAGE: 'harvesterhci.io/upgradeImage',
|
|
165
|
-
LATEST_UPGRADE: 'harvesterhci.io/latestUpgrade',
|
|
166
|
-
UPGRADE_STATE: 'harvesterhci.io/upgradeState',
|
|
167
|
-
REAY_MESSAGE: 'harvesterhci.io/read-message',
|
|
168
|
-
DYNAMIC_SSHKEYS_NAMES: 'harvesterhci.io/dynamic-ssh-key-names',
|
|
169
|
-
DYNAMIC_SSHKEYS_USERS: 'harvesterhci.io/dynamic-ssh-key-users',
|
|
170
|
-
VM_VOLUME_STATUS: 'harvesterhci.io/volume-status',
|
|
171
|
-
IMAGE_SUFFIX: 'harvesterhci.io/image-type',
|
|
172
|
-
OS_TYPE: 'harvesterhci.io/os-type',
|
|
173
|
-
HOST_REQUEST: 'management.cattle.io/pod-requests',
|
|
132
|
+
CLOUD_INIT: 'harvesterhci.io/cloud-init-template',
|
|
133
|
+
CLOUD_PROVIDER_IPAM: 'cloudprovider.harvesterhci.io/ipam',
|
|
134
|
+
NETWORK_ROUTE: 'network.harvesterhci.io/route',
|
|
135
|
+
IMAGE_NAME: 'harvesterhci.io/image-name',
|
|
136
|
+
NETWORK_TYPE: 'network.harvesterhci.io/type',
|
|
174
137
|
};
|
|
175
138
|
|
|
176
139
|
// Annotations that can be on management.cattle.io.cluster to configure a custom badge
|
package/config/private-label.js
CHANGED
|
@@ -3,11 +3,14 @@ import { SETTING } from './settings';
|
|
|
3
3
|
export const ANY = 0;
|
|
4
4
|
export const STANDARD = 1;
|
|
5
5
|
export const CUSTOM = 2;
|
|
6
|
-
export const DOCS_BASE = 'https://rancher.com/docs/rancher/v2.
|
|
6
|
+
export const DOCS_BASE = 'https://rancher.com/docs/rancher/v2.7/en';
|
|
7
7
|
|
|
8
8
|
const STANDARD_VENDOR = 'Rancher';
|
|
9
9
|
const STANDARD_PRODUCT = 'Explorer';
|
|
10
|
-
const CUSTOM_VENDOR = {
|
|
10
|
+
const CUSTOM_VENDOR = {
|
|
11
|
+
suse: 'Rancher Prime',
|
|
12
|
+
csp: 'SUSE Rancher'
|
|
13
|
+
};
|
|
11
14
|
|
|
12
15
|
let mode = STANDARD;
|
|
13
16
|
let vendor = STANDARD_VENDOR;
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
CONFIG_MAP,
|
|
3
3
|
EVENT,
|
|
4
4
|
NODE, SECRET, INGRESS,
|
|
5
|
-
WORKLOAD, WORKLOAD_TYPES, SERVICE, HPA, NETWORK_POLICY, PV, PVC, STORAGE_CLASS, POD,
|
|
5
|
+
WORKLOAD, WORKLOAD_TYPES, SERVICE, HPA, NETWORK_POLICY, PV, PVC, STORAGE_CLASS, POD, POD_DISRUPTION_BUDGET, LIMIT_RANGE, RESOURCE_QUOTA,
|
|
6
6
|
RBAC,
|
|
7
7
|
MANAGEMENT,
|
|
8
8
|
NAMESPACE,
|
|
@@ -60,11 +60,16 @@ export function init(store) {
|
|
|
60
60
|
VIRTUAL_TYPES.CLUSTER_MEMBERS,
|
|
61
61
|
EVENT,
|
|
62
62
|
], 'cluster');
|
|
63
|
+
basicType([
|
|
64
|
+
LIMIT_RANGE,
|
|
65
|
+
NETWORK_POLICY,
|
|
66
|
+
POD_DISRUPTION_BUDGET,
|
|
67
|
+
RESOURCE_QUOTA,
|
|
68
|
+
], 'policy');
|
|
63
69
|
basicType([
|
|
64
70
|
SERVICE,
|
|
65
71
|
INGRESS,
|
|
66
72
|
HPA,
|
|
67
|
-
NETWORK_POLICY,
|
|
68
73
|
], 'serviceDiscovery');
|
|
69
74
|
basicType([
|
|
70
75
|
PV,
|
|
@@ -87,6 +92,7 @@ export function init(store) {
|
|
|
87
92
|
weightGroup('workload', 98, true);
|
|
88
93
|
weightGroup('serviceDiscovery', 96, true);
|
|
89
94
|
weightGroup('storage', 95, true);
|
|
95
|
+
weightGroup('policy', 94, true);
|
|
90
96
|
weightType(POD, -1, true);
|
|
91
97
|
|
|
92
98
|
// here is where we define the usage of the WORKLOAD custom list view for
|
package/config/roles.ts
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
// Settings
|
|
2
2
|
import { GC_DEFAULTS } from '../utils/gc/gc-types';
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
interface GlobalSettingRuleset {
|
|
5
|
+
name: string,
|
|
6
|
+
key?: string | number,
|
|
7
|
+
arg?: string | number | (string | number)[]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface GlobalSetting {
|
|
11
|
+
[key: string]: {
|
|
12
|
+
alias?: string,
|
|
13
|
+
canReset?: boolean,
|
|
14
|
+
customFormatter?: string,
|
|
15
|
+
from?: string,
|
|
16
|
+
kind?: string,
|
|
17
|
+
options?: string[]
|
|
18
|
+
readOnly?: boolean,
|
|
19
|
+
/**
|
|
20
|
+
* Function used from the form validation
|
|
21
|
+
*/
|
|
22
|
+
ruleSet?: GlobalSettingRuleset[],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
4
25
|
|
|
5
26
|
// Adapted from: https://github.com/rancher/ui/blob/08c379a9529f740666a704b52522a468986c3520/lib/shared/addon/utils/constants.js#L564
|
|
6
27
|
// Setting IDs
|
|
@@ -66,11 +87,20 @@ export const SETTING = {
|
|
|
66
87
|
};
|
|
67
88
|
|
|
68
89
|
// These are the settings that are allowed to be edited via the UI
|
|
69
|
-
export const ALLOWED_SETTINGS = {
|
|
90
|
+
export const ALLOWED_SETTINGS: GlobalSetting = {
|
|
70
91
|
[SETTING.CA_CERTS]: { kind: 'multiline', readOnly: true },
|
|
71
92
|
[SETTING.ENGINE_URL]: {},
|
|
72
93
|
[SETTING.ENGINE_ISO_URL]: {},
|
|
73
|
-
[SETTING.CATTLE_PASSWORD_MIN_LENGTH]:
|
|
94
|
+
[SETTING.CATTLE_PASSWORD_MIN_LENGTH]: {
|
|
95
|
+
kind: 'integer',
|
|
96
|
+
ruleSet: [
|
|
97
|
+
{
|
|
98
|
+
name: 'betweenValues',
|
|
99
|
+
key: 'Password',
|
|
100
|
+
arg: [2, 256]
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
},
|
|
74
104
|
[SETTING.INGRESS_IP_DOMAIN]: {},
|
|
75
105
|
[SETTING.AUTH_USER_INFO_MAX_AGE_SECONDS]: {},
|
|
76
106
|
[SETTING.AUTH_USER_SESSION_TTL_MINUTES]: {},
|
|
@@ -109,50 +139,3 @@ export const DEFAULT_PERF_SETTING = {
|
|
|
109
139
|
disableWebsocketNotification: true,
|
|
110
140
|
garbageCollection: GC_DEFAULTS
|
|
111
141
|
};
|
|
112
|
-
|
|
113
|
-
export const fetchOrCreateSetting = async(store, id, val, save = true) => {
|
|
114
|
-
let setting;
|
|
115
|
-
|
|
116
|
-
try {
|
|
117
|
-
setting = await store.dispatch('management/find', { type: MANAGEMENT.SETTING, id });
|
|
118
|
-
} catch {
|
|
119
|
-
const schema = store.getters['management/schemaFor'](MANAGEMENT.SETTING);
|
|
120
|
-
const url = schema.linkFor('collection');
|
|
121
|
-
|
|
122
|
-
setting = await store.dispatch('management/create', {
|
|
123
|
-
type: MANAGEMENT.SETTING, metadata: { name: id }, value: val, default: val || ''
|
|
124
|
-
});
|
|
125
|
-
if ( save ) {
|
|
126
|
-
await setting.save({ url });
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return setting;
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
export const setSetting = async(store, id, val) => {
|
|
134
|
-
const setting = await fetchOrCreateSetting(store, id, val, false);
|
|
135
|
-
|
|
136
|
-
setting.value = val;
|
|
137
|
-
await setting.save();
|
|
138
|
-
|
|
139
|
-
return setting;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
export const getPerformanceSetting = (rootGetters) => {
|
|
143
|
-
const perfSetting = rootGetters['management/byId'](MANAGEMENT.SETTING, SETTING.UI_PERFORMANCE);
|
|
144
|
-
let perfConfig = {};
|
|
145
|
-
|
|
146
|
-
if (perfSetting && perfSetting.value) {
|
|
147
|
-
try {
|
|
148
|
-
perfConfig = JSON.parse(perfSetting.value);
|
|
149
|
-
} catch (e) {
|
|
150
|
-
console.warn('ui-performance setting contains invalid data'); // eslint-disable-line no-console
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// Start with the default and overwrite the values from the setting - ensures we have defaults for newly added options
|
|
155
|
-
perfConfig = Object.assign(DEFAULT_PERF_SETTING, perfConfig);
|
|
156
|
-
|
|
157
|
-
return perfConfig;
|
|
158
|
-
};
|
package/config/types.js
CHANGED
|
@@ -47,10 +47,12 @@ export const ENDPOINTS = 'endpoints';
|
|
|
47
47
|
export const HPA = 'autoscaling.horizontalpodautoscaler';
|
|
48
48
|
export const INGRESS = 'networking.k8s.io.ingress';
|
|
49
49
|
export const INGRESS_CLASS = 'networking.k8s.io.ingressclass';
|
|
50
|
+
export const LIMIT_RANGE = 'limitrange';
|
|
50
51
|
export const NAMESPACE = 'namespace';
|
|
51
52
|
export const NODE = 'node';
|
|
52
53
|
export const NETWORK_POLICY = 'networking.k8s.io.networkpolicy';
|
|
53
54
|
export const POD = 'pod';
|
|
55
|
+
export const POD_DISRUPTION_BUDGET = 'policy.poddisruptionbudget';
|
|
54
56
|
export const PSP = 'policy.podsecuritypolicy';
|
|
55
57
|
export const PV = 'persistentvolume';
|
|
56
58
|
export const PVC = 'persistentvolumeclaim';
|
|
@@ -80,17 +80,17 @@ As of version 2.6, Cluster Manager is no longer provided as a separate UI. The d
|
|
|
80
80
|
<tr>
|
|
81
81
|
<td>Catalogs</td>
|
|
82
82
|
<td>Global → Tools → Catalogs</td>
|
|
83
|
-
<td>Menu →
|
|
83
|
+
<td>Menu → Global Configuration → Catalogs</td>
|
|
84
84
|
</tr>
|
|
85
85
|
<tr>
|
|
86
86
|
<td>Global DNS Entries</td>
|
|
87
87
|
<td>Global → Tools → Global DNS Entries</td>
|
|
88
|
-
<td>Menu →
|
|
88
|
+
<td>Menu → Global Configuration → Global DNS Entries</td>
|
|
89
89
|
</tr>
|
|
90
90
|
<tr>
|
|
91
91
|
<td>Global DNS Providers</td>
|
|
92
92
|
<td>Global → Tools → Global DNS Providers</td>
|
|
93
|
-
<td>Menu →
|
|
93
|
+
<td>Menu → Global Configuration → Global DNS Providers</td>
|
|
94
94
|
</tr>
|
|
95
95
|
<tr>
|
|
96
96
|
<td>Pod Security Policies</td>
|
|
@@ -1,133 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: What's New in 2.
|
|
2
|
+
title: What's New in 2.7
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
## New in 2.7.0
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
### k3s provisioning is GA (x86 Only)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
- Provisioning K3s clusters on x86 clusters has graduated to GA! The fully compliant Kubernetes distribution is simplified, secure and at less than 60mb is perfect for Edge.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
### Rancher Extensions
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
- Rancher Extensions provides a mechanism to extend the functionality of the Rancher Manager UI. Rancher will use this to provide new functionality that can be
|
|
14
|
+
installed by administrators. Extensions are provided as Helm charts. A new top-level 'Extensions' UI allows administrators to enable Extensions support and install and manage Extensions themselves.
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
### OCI Support for Helm for Fleet
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
- Authentication for OCI-based registries is now supported. Note that the structure of the fleet.yaml is the same and the credentials are provided as a Kubernetes secret, which is described in the Private Helm Repo box in the Repo Structure docs.
|
|
17
19
|
|
|
18
|
-
- Kubernetes 1.24 is now a supported Kubernetes version for running Rancher as well as for provisioned and imported RKE1/RKE2/k3s clusters.
|
|
19
|
-
|
|
20
|
-
### RKE2 Encryption Key Rotation
|
|
21
|
-
|
|
22
|
-
- RKE2 encrypts secret data at rest by default. You can now rotate the key used for this encryption for Rancher-provisioned RKE2 clusters with supported k8s versions.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
## New in 2.6.6
|
|
26
|
-
|
|
27
|
-
- 2.6.6 was released to account for a major performance issue. The issue occurred when Rancher was attempting to control large volumes of traffic from downstream clusters. This mechanism was not handling disconnects properly and would result in indefinite locks but this is now fixed in this version.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## New in 2.6.5
|
|
31
|
-
|
|
32
|
-
### NeuVector Integration
|
|
33
|
-
|
|
34
|
-
- Access NeuVector directly from the Rancher UI.
|
|
35
|
-
|
|
36
|
-
### RKE2 Provisioning GA
|
|
37
|
-
|
|
38
|
-
- Provision RKE2 clusters from Rancher using our newest Kubernetes distro.
|
|
39
|
-
|
|
40
|
-
### Enhanced Windows Support
|
|
41
|
-
|
|
42
|
-
- Windows support for RKE2 is now GA along with a vSphere driver for Windows.
|
|
43
|
-
|
|
44
|
-
### Prometheus Federator
|
|
45
|
-
|
|
46
|
-
- Isolate metrics data between teams in the same cluster using Rancher projects.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## New in 2.6.4
|
|
50
|
-
|
|
51
|
-
### Kubernetes 1.22 Support
|
|
52
|
-
|
|
53
|
-
- Kubernetes 1.22 is now available as a supported Kubernetes version option when provisioning RKE1 clusters as well as upgrading imported RKE2/k3s clusters.
|
|
54
|
-
|
|
55
|
-
### Experimental - Kubernetes 1.23 Support
|
|
56
|
-
|
|
57
|
-
- Kubernetes 1.23 has been introduced as an available Kubernetes version option when provisioning RKE1 clusters as well as upgrading imported RKE2/k3s clusters. This has been noted as experimental due to RKE1 clusters not having upstream vSphere CPI/CSI charts released as well as Windows RKE1 clusters not having dual-stack IPv4/IPv6 support.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
## New in 2.6.3
|
|
61
|
-
|
|
62
|
-
### Harvester Integration
|
|
63
|
-
|
|
64
|
-
- Harvester's integration with Rancher and RKE1 provisioning is now GA. Users can provision Kubernetes clusters with RKE1 and manage multiple Harvester HCI clusters from a single Rancher instance.
|
|
65
|
-
- RKE2 provisioning on Harvester is still Tech Preview.
|
|
66
|
-
|
|
67
|
-
### Experimental - Kubernetes 1.22 support
|
|
68
|
-
|
|
69
|
-
- Kubernetes 1.22 has been introduced as an available Kubernetes option when provisioning clusters as well as upgrading imported RKE2/k3s clusters.
|
|
70
|
-
|
|
71
|
-
### Expanded support for Authorized Cluster Endpoint (ACE)
|
|
72
|
-
|
|
73
|
-
- Cluster admins can now configure ACE on imported RKE2/K3s clusters.
|
|
74
|
-
|
|
75
|
-
### Workload UX enhancements
|
|
76
|
-
|
|
77
|
-
- Added dashboards for workload metrics into the Rancher UI.
|
|
78
|
-
- Added ability to pause orchestration, update the scale, and visualize the deployment health from within the main list views.
|
|
79
|
-
|
|
80
|
-
Read the full [release notes](https://github.com/rancher/rancher/releases/tag/v2.6.3) for more details.
|
|
81
|
-
|
|
82
|
-
## New in 2.6.0
|
|
83
|
-
|
|
84
|
-
### Redesigned Rancher User Experience
|
|
85
|
-
|
|
86
|
-
There is a new refreshed look and feel in the UI making it easy to use for beginner and advanced Kubernetes users:
|
|
87
|
-
|
|
88
|
-
- Cluster explorer navigation is updated so that users now see a collapsed subset of the most used Kubernetes resources expressed in simple terms. Any Kubernetes resource can be managed through the explorer and quickly found through the resource search functionality. Users can now manage their projects. Cluster tools like monitoring and logging are aggregated under an easy-to-discover **Cluster Tools** menu. The cluster dashboard now includes live metrics when monitoring is enabled.
|
|
89
|
-
- Global navigation is redesigned to make it easier for users and admins to quickly switch between clusters and top-level apps.
|
|
90
|
-
- Cluster management lists all of a user's clusters and has been enhanced with its own left-hand navigation menu to bring all cluster lifecycle tools into a single place.
|
|
91
|
-
|
|
92
|
-
### Enhanced Branding and Customization Options
|
|
93
|
-
|
|
94
|
-
- Admins can now manage the logo and color in Rancher through a single brand management page.
|
|
95
|
-
- Users can add links to their own applications in the cluster explorer navigation.
|
|
96
|
-
|
|
97
|
-
### Enhanced AKS Lifecycle Management
|
|
98
|
-
- Provisioning AKS clusters is updated to support private AKS endpoints, multiple node pools, autoscaling and leverage Rancher cloud credentials for authentication.
|
|
99
|
-
- Existing AKS clusters can be registered, which enables the ability to manage Kubernetes versions and configuration settings.
|
|
100
|
-
|
|
101
|
-
### Enhanced GKE Lifecycle Management
|
|
102
|
-
- Provisioning GKE clusters is updated to support shared VPCs, multiple node pools, autoscaling, and network tags.
|
|
103
|
-
- Existing GKE clusters can be registered, which enables the ability to manage Kubernetes versions and configuration settings.
|
|
104
|
-
- Rancher’s project network isolation can be enabled for GKE clusters that were provisioned through Rancher or registered.
|
|
105
|
-
|
|
106
|
-
### Tech Preview - RKE2 Cluster Provisioning
|
|
107
|
-
|
|
108
|
-
- A new provisioning framework built on top of Cluster API is introduced to support the provisioning of RKE2 clusters.
|
|
109
|
-
- RKE2 clusters can be provisioned to bring up VMs through Rancher in various cloud infrastructure providers, such as AWS, Azure, vSphere, Linode and DigitalOcean.
|
|
110
|
-
- RKE2 clusters can also be provisioned on existing virtual or bare metal servers.
|
|
111
|
-
|
|
112
|
-
### Tech Preview - RKE2 Windows Worker Nodes Support
|
|
113
|
-
|
|
114
|
-
- Windows worker nodes can be added to any RKE2 custom cluster that is using the default Calico CNI.
|
|
115
|
-
|
|
116
|
-
### Tech Preview - Cluster Templates
|
|
117
|
-
|
|
118
|
-
- Cluster templates provide the ability to control which parameters can be customized for provisioning clusters.
|
|
119
|
-
|
|
120
|
-
Examples of what a cluster can define are:
|
|
121
|
-
- Node pools for etcd, control plane and workers.
|
|
122
|
-
- Cloud credentials for provisioning nodes.
|
|
123
|
-
|
|
124
|
-
### Keycloak using OIDC
|
|
125
|
-
|
|
126
|
-
- Keycloak can now be authenticated using OIDC.
|
|
127
|
-
|
|
128
|
-
### Security Enhancements
|
|
129
|
-
|
|
130
|
-
- Admins can now trace users by username and identity provider (IdP) in the Rancher and Kubernetes audit logs.
|
|
131
|
-
- Admins can enable one-way hashing of Rancher API tokens.
|
|
132
|
-
|
|
133
|
-
Read the full [release notes](https://github.com/rancher/rancher/releases/tag/v2.6.0) for more details.
|
package/core/plugins.js
CHANGED
|
@@ -17,9 +17,9 @@ export default function({
|
|
|
17
17
|
let _lastLoaded = 0;
|
|
18
18
|
|
|
19
19
|
// Track which plugin loaded what, so we can unload stuff
|
|
20
|
-
|
|
20
|
+
const plugins = {};
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
const pluginRoutes = new PluginRoutes(app.router);
|
|
23
23
|
|
|
24
24
|
inject('plugin', {
|
|
25
25
|
// Plugins should not use these - but we will pass them in for now as a 2nd argument
|
|
@@ -160,20 +160,23 @@ export default function({
|
|
|
160
160
|
},
|
|
161
161
|
|
|
162
162
|
async logout() {
|
|
163
|
-
const all = Object.
|
|
163
|
+
const all = Object.values(plugins);
|
|
164
164
|
|
|
165
165
|
for (let i = 0; i < all.length; i++) {
|
|
166
|
-
const
|
|
166
|
+
const plugin = all[i];
|
|
167
|
+
|
|
168
|
+
if (plugin.builtin) {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
167
171
|
|
|
168
172
|
try {
|
|
169
|
-
await this.removePlugin(name);
|
|
173
|
+
await this.removePlugin(plugin.name);
|
|
170
174
|
} catch (e) {
|
|
171
175
|
console.error('Error removing plugin', e); // eslint-disable-line no-console
|
|
172
176
|
}
|
|
173
|
-
}
|
|
174
177
|
|
|
175
|
-
|
|
176
|
-
|
|
178
|
+
delete plugins[plugin.name];
|
|
179
|
+
}
|
|
177
180
|
},
|
|
178
181
|
|
|
179
182
|
// Remove the plugin
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/creators/app/init
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const path = require('path');
|
|
4
3
|
const fs = require('fs-extra');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const exec = require('child_process').exec;
|
|
5
6
|
|
|
6
7
|
const targets = {
|
|
7
|
-
dev:
|
|
8
|
-
nuxt:
|
|
9
|
-
build: './node_modules/.bin/nuxt build'
|
|
8
|
+
'dev': './node_modules/.bin/nuxt dev',
|
|
9
|
+
'nuxt': './node_modules/.bin/nuxt',
|
|
10
|
+
'build': './node_modules/.bin/nuxt build'
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
const files = [
|
|
@@ -29,8 +30,8 @@ if (args.length == 3) {
|
|
|
29
30
|
const folder = path.resolve('.');
|
|
30
31
|
|
|
31
32
|
appFolder = path.join(folder, name);
|
|
32
|
-
console.log(` Creating application folder: ${ appFolder
|
|
33
|
-
fs.ensureDirSync(appFolder);
|
|
33
|
+
console.log(` Creating application folder: ${ appFolder}`);
|
|
34
|
+
fs.ensureDirSync(appFolder);
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
// Check that there is a package file
|
|
@@ -70,23 +71,18 @@ const creatorPkgData = fs.readFileSync(path.join(__dirname, 'package.json'));
|
|
|
70
71
|
const creatorPkg = JSON.parse(creatorPkgData);
|
|
71
72
|
|
|
72
73
|
pkg.dependencies['@rancher/shell'] = `^${ creatorPkg.version }`;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (creatorPkg._pkgs) {
|
|
76
|
-
Object.keys(creatorPkg._pkgs).forEach((pkgName) => {
|
|
77
|
-
pkg.dependencies[pkgName] = creatorPkg._pkgs[pkgName];
|
|
78
|
-
});
|
|
79
|
-
}
|
|
74
|
+
pkg.dependencies['core-js'] = '^3.20.3';
|
|
75
|
+
pkg.dependencies['css-loader'] = '4.3.0';
|
|
80
76
|
|
|
81
77
|
fs.writeFileSync(path.join(appFolder, 'package.json'), JSON.stringify(pkg, null, 2));
|
|
82
78
|
|
|
83
79
|
// Copy base files
|
|
84
80
|
files.forEach((file) => {
|
|
85
|
-
const src = path.join(__dirname,
|
|
81
|
+
const src = path.join(__dirname, file);
|
|
86
82
|
const dest = path.join(appFolder, file);
|
|
87
83
|
|
|
88
84
|
if (!fs.existsSync(dest)) {
|
|
89
|
-
console.log(
|
|
85
|
+
console.log(' Adding file: ' + file);
|
|
90
86
|
|
|
91
87
|
const folder = path.dirname(file);
|
|
92
88
|
|
|
@@ -97,4 +93,9 @@ files.forEach((file) => {
|
|
|
97
93
|
}
|
|
98
94
|
});
|
|
99
95
|
|
|
100
|
-
|
|
96
|
+
// require("child_process").spawn('yarn', ['install'], {
|
|
97
|
+
// cwd: process.cwd(),
|
|
98
|
+
// stdio: "inherit"
|
|
99
|
+
// });
|
|
100
|
+
|
|
101
|
+
console.log('');
|
|
File without changes
|
|
@@ -7,18 +7,12 @@
|
|
|
7
7
|
"private": false,
|
|
8
8
|
"bin": "./init",
|
|
9
9
|
"files": [
|
|
10
|
-
"
|
|
10
|
+
"*.*",
|
|
11
11
|
"init"
|
|
12
12
|
],
|
|
13
13
|
"engines": {
|
|
14
14
|
"node": ">=12"
|
|
15
15
|
},
|
|
16
|
-
"_requires": [
|
|
17
|
-
"core-js",
|
|
18
|
-
"css-loader",
|
|
19
|
-
"@types/lodash",
|
|
20
|
-
"@rancher/components"
|
|
21
|
-
],
|
|
22
16
|
"dependencies": {
|
|
23
17
|
"fs-extra": "^10.0.0"
|
|
24
18
|
}
|
|
File without changes
|
|
File without changes
|
package/creators/pkg/init
CHANGED
|
@@ -95,7 +95,7 @@ if (addTypeFolders) {
|
|
|
95
95
|
|
|
96
96
|
// Copy base files
|
|
97
97
|
files.forEach((file) => {
|
|
98
|
-
const src = path.join(__dirname,
|
|
98
|
+
const src = path.join(__dirname, file);
|
|
99
99
|
const dest = path.join(path.join(pkgFolder, file));
|
|
100
100
|
|
|
101
101
|
if (!fs.existsSync(dest)) {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rancher/create-pkg",
|
|
3
|
+
"version": "0.1.37",
|
|
4
|
+
"lockfileVersion": 1,
|
|
5
|
+
"requires": true,
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"fs-extra": {
|
|
8
|
+
"version": "10.1.0",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
|
|
10
|
+
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
|
|
11
|
+
"requires": {
|
|
12
|
+
"graceful-fs": "^4.2.0",
|
|
13
|
+
"jsonfile": "^6.0.1",
|
|
14
|
+
"universalify": "^2.0.0"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"graceful-fs": {
|
|
18
|
+
"version": "4.2.10",
|
|
19
|
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
|
20
|
+
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
|
|
21
|
+
},
|
|
22
|
+
"jsonfile": {
|
|
23
|
+
"version": "6.1.0",
|
|
24
|
+
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
|
25
|
+
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
|
26
|
+
"requires": {
|
|
27
|
+
"graceful-fs": "^4.1.6",
|
|
28
|
+
"universalify": "^2.0.0"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"universalify": {
|
|
32
|
+
"version": "2.0.0",
|
|
33
|
+
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
|
34
|
+
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|