@rancher/shell 0.2.5 → 0.3.0
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/themes/_dark.scss +4 -0
- package/assets/styles/themes/_light.scss +5 -0
- package/assets/translations/en-us.yaml +14 -2
- package/assets/translations/zh-hans.yaml +7 -5
- package/chart/istio.vue +1 -1
- package/chart/monitoring/grafana/index.vue +1 -1
- package/chart/monitoring/index.vue +1 -1
- package/chart/monitoring/prometheus/index.vue +4 -4
- package/components/AlertTable.vue +1 -1
- package/components/AssignTo.vue +1 -1
- package/components/AsyncButton.vue +2 -2
- package/components/BrandImage.vue +1 -1
- package/components/ButtonGroup.vue +1 -1
- package/components/ClusterProviderIcon.vue +2 -2
- package/components/Collapse.vue +6 -2
- package/components/CollapsibleCard.vue +2 -2
- package/components/ConsumptionGauge.vue +4 -4
- package/components/ContainerResourceLimit.vue +1 -1
- package/components/CountBox.vue +1 -1
- package/components/CountGauge.vue +1 -1
- package/components/CruResource.vue +2 -1
- package/components/DashboardMetrics.vue +2 -2
- package/components/ExplorerProjectsNamespaces.vue +6 -6
- package/components/FixedBanner.vue +6 -6
- package/components/GlobalRoleBindings.vue +6 -6
- package/components/GradientBox.vue +2 -2
- package/components/IconMessage.vue +4 -4
- package/components/Import.vue +5 -5
- package/components/InputOrDisplay.vue +1 -1
- package/components/KeyValueView.vue +1 -1
- package/components/LabelValue.vue +1 -1
- package/components/ModalWithCard.vue +1 -1
- package/components/MoveModal.vue +1 -1
- package/components/PercentageBar.vue +2 -2
- package/components/PromptChangePassword.vue +1 -1
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +2 -2
- package/components/PromptRestore.vue +13 -13
- package/components/Questions/Question.js +1 -1
- package/components/ResourceCancelModal.vue +3 -3
- package/components/ResourceDetail/Masthead.vue +1 -1
- package/components/ResourceList/Masthead.vue +1 -1
- package/components/ResourceSummary.vue +4 -4
- package/components/RoleBindings.vue +19 -19
- package/components/SimpleBox.vue +5 -1
- package/components/SingleClusterInfo.vue +5 -5
- package/components/SortableTable/THead.vue +6 -2
- package/components/SortableTable/actions.js +4 -2
- package/components/SortableTable/index.vue +9 -9
- package/components/SortableTable/selection.js +2 -2
- package/components/TableSparkLine.vue +1 -1
- package/components/TypeDescription.vue +1 -1
- package/components/Wizard.vue +1 -1
- package/components/YamlEditor.vue +6 -6
- package/components/__tests__/ApplicationCard.test.ts +27 -0
- package/components/__tests__/Collapse.spec.ts +44 -0
- package/components/__tests__/CruResource.test.ts +3 -3
- package/components/__tests__/NamespaceFilter.test.ts +213 -0
- package/components/__tests__/SimpleBox.spec.ts +28 -0
- package/components/auth/RoleDetailEdit.vue +17 -15
- package/components/auth/SelectPrincipal.vue +9 -0
- package/components/auth/login/ldap.vue +3 -0
- package/components/cards/ApplicationCard.vue +10 -5
- package/components/fleet/FleetBundleResources.vue +8 -8
- package/components/fleet/FleetClusters.vue +10 -10
- package/components/fleet/FleetRepos.vue +5 -5
- package/components/fleet/FleetResources.vue +6 -6
- package/components/fleet/FleetSummary.vue +5 -5
- package/components/fleet/ResourcesSummary.vue +1 -1
- package/components/form/ArrayListGrouped.vue +1 -1
- package/components/form/ArrayListSelect.vue +3 -3
- package/components/form/BannerSettings.vue +6 -6
- package/components/form/ChangePassword.vue +3 -3
- package/components/form/Error.vue +2 -2
- package/components/form/FileSelector.vue +3 -3
- package/components/form/Footer.vue +1 -1
- package/components/form/GithubPicker.vue +4 -4
- package/components/form/KeyValue.vue +2 -2
- package/components/form/MatchExpressions.vue +1 -1
- package/components/form/Members/ClusterPermissionsEditor.vue +11 -11
- package/components/form/Members/MembershipEditor.vue +2 -2
- package/components/form/NodeAffinity.vue +1 -1
- package/components/form/Password.vue +3 -3
- package/components/form/PodAffinity.vue +1 -1
- package/components/form/ProjectMemberEditor.vue +1 -1
- package/components/form/ResourceQuota/shared.js +12 -12
- package/components/form/SecretSelector.vue +1 -1
- package/components/form/Security.vue +1 -1
- package/components/form/Select.vue +4 -0
- package/components/form/SimpleSecretSelector.vue +1 -1
- package/components/form/Taints.vue +1 -1
- package/components/form/UnitInput.vue +7 -7
- package/components/form/ValueFromResource.vue +1 -1
- package/components/form/WorkloadPorts.vue +1 -1
- package/components/formatter/AppSummaryGraph.vue +4 -4
- package/components/formatter/BadgeStateFormatter.vue +2 -2
- package/components/formatter/Checked.vue +1 -1
- package/components/formatter/ClusterLink.vue +3 -3
- package/components/formatter/Date.vue +1 -1
- package/components/formatter/DelayedValue.vue +1 -1
- package/components/formatter/Endpoints.vue +1 -1
- package/components/formatter/FleetSummaryGraph.vue +4 -4
- package/components/formatter/IconIsDefault.vue +1 -1
- package/components/formatter/IconText.vue +4 -4
- package/components/formatter/ImagePercentageBar.vue +4 -4
- package/components/formatter/IngressFullPath.vue +1 -1
- package/components/formatter/LinkDetail.vue +3 -3
- package/components/formatter/List.vue +1 -1
- package/components/formatter/ListLink.vue +1 -1
- package/components/formatter/ListLinkDetail.vue +1 -1
- package/components/formatter/LiveDate.vue +3 -3
- package/components/formatter/LivePodRestarts.vue +1 -1
- package/components/formatter/Number.vue +1 -1
- package/components/formatter/Percentage.vue +2 -2
- package/components/formatter/PercentageBar.vue +3 -3
- package/components/formatter/PodImages.vue +1 -1
- package/components/formatter/Principal.vue +1 -1
- package/components/formatter/PrincipalGroupBindings.vue +2 -2
- package/components/formatter/QualityText.vue +1 -1
- package/components/formatter/ReceiverIcons.vue +2 -2
- package/components/formatter/Scale.vue +1 -1
- package/components/formatter/ScanResult.vue +1 -1
- package/components/formatter/SecretData.vue +1 -1
- package/components/formatter/ServiceType.vue +1 -1
- package/components/formatter/Shortened.vue +1 -1
- package/components/formatter/VerticalScroll.vue +2 -2
- package/components/formatter/VirtualServiceGateways.vue +3 -3
- package/components/formatter/Weight.vue +2 -2
- package/components/formatter/WorkloadDetailEndpoints.vue +1 -1
- package/components/formatter/WorkloadHealthScale.vue +2 -2
- package/components/formatter/__tests__/Date.test.ts +60 -0
- package/components/formatter/__tests__/LinkDetail.test.ts +72 -0
- package/components/formatter/__tests__/LiveDate.test.ts +84 -0
- package/components/formatter/__tests__/Si.test.ts +35 -0
- package/components/graph/LinePlot.vue +1 -1
- package/components/graph/ProgressArc.vue +5 -5
- package/components/nav/GlobalLoading.vue +1 -1
- package/components/nav/Header.vue +1 -2
- package/components/nav/Jump.vue +3 -3
- package/components/nav/NamespaceFilter.vue +71 -22
- package/components/nav/TopLevelMenu.vue +4 -4
- package/components/nav/Type.vue +1 -1
- package/components/nav/WindowManager/ChartReadme.vue +1 -1
- package/components/nav/WindowManager/ContainerLogs.vue +3 -3
- package/components/nav/WindowManager/ContainerShell.vue +19 -0
- package/components/nav/WindowManager/KubectlShell.vue +6 -6
- package/components/nav/WindowManager/MachineSsh.vue +1 -1
- package/components/nav/WindowManager/index.vue +196 -25
- package/config/labels-annotations.js +19 -19
- package/config/product/apps.js +5 -5
- package/config/product/auth.js +20 -20
- package/config/product/cis.js +24 -24
- package/config/product/explorer.js +22 -21
- package/config/product/fleet.js +7 -7
- package/config/product/gatekeeper.js +7 -7
- package/config/product/harvester-manager.js +8 -8
- package/config/product/istio.js +7 -7
- package/config/product/legacy.js +21 -21
- package/config/product/logging.js +90 -90
- package/config/product/manager.js +14 -14
- package/config/product/monitoring.js +36 -36
- package/config/product/multi-cluster-apps.js +24 -24
- package/config/product/settings.js +42 -42
- package/config/settings.ts +16 -16
- package/config/table-headers.js +55 -48
- package/config/types.js +7 -7
- package/config/uiplugins.js +4 -4
- package/creators/app/app.package.json +4 -1
- package/creators/app/{.eslintignore → files/.eslintignore} +0 -0
- package/creators/app/{.eslintrc.js → files/.eslintrc.js} +0 -0
- package/creators/app/{.vscode → files/.vscode}/settings.json +0 -0
- package/creators/app/{babel.config.js → files/babel.config.js} +0 -0
- package/creators/app/{nuxt.config.js → files/nuxt.config.js} +0 -0
- package/creators/app/{tsconfig.json → files/tsconfig.json} +2 -1
- package/creators/app/init +16 -17
- package/creators/app/package.json +7 -1
- package/creators/pkg/{babel.config.js → files/babel.config.js} +0 -0
- package/creators/pkg/{index.ts → files/index.ts} +0 -0
- package/creators/pkg/{tsconfig.json → files/tsconfig.json} +13 -12
- package/creators/pkg/{vue.config.js → files/vue.config.js} +0 -0
- package/creators/pkg/init +1 -1
- package/creators/pkg/package.json +1 -1
- package/creators/update/init +56 -0
- package/creators/update/package.json +20 -0
- package/creators/update/upgrade +56 -0
- package/detail/cis.cattle.io.clusterscan.vue +6 -6
- package/detail/configmap.vue +1 -1
- package/detail/constraints.gatekeeper.sh.constraint.vue +1 -1
- package/detail/fleet.cattle.io.bundle.vue +5 -5
- package/detail/fleet.cattle.io.gitrepo.vue +5 -5
- package/detail/helm.cattle.io.projecthelmchart.vue +1 -1
- package/detail/management.cattle.io.user.vue +3 -3
- package/detail/namespace.vue +13 -13
- package/detail/node.vue +2 -2
- package/detail/pod.vue +1 -1
- package/detail/provisioning.cattle.io.cluster.vue +12 -1
- package/detail/secret.vue +2 -2
- package/detail/workload/index.vue +1 -1
- package/dialog/AddClusterMemberDialog.vue +1 -1
- package/dialog/AddCustomBadgeDialog.vue +4 -4
- package/dialog/AddProjectMemberDialog.vue +29 -22
- package/dialog/AddonConfigConfirmationDialog.vue +1 -1
- package/dialog/DiagnosticTimingsDialog.vue +1 -1
- package/dialog/DrainNode.vue +12 -12
- package/dialog/ForceMachineRemoveDialog.vue +1 -1
- package/dialog/GenericPrompt.vue +1 -1
- package/dialog/RollbackWorkloadDialog.vue +8 -8
- package/dialog/RotateCertificatesDialog.vue +4 -4
- package/dialog/RotateEncryptionKeyDialog.vue +1 -1
- package/dialog/SaveAsRKETemplateDialog.vue +1 -1
- package/dialog/ScaleMachineDownDialog.vue +1 -1
- package/edit/__tests__/management.cattle.io.setting.test.ts +1 -1
- package/edit/auth/azuread.vue +2 -2
- package/edit/auth/github.vue +2 -2
- package/edit/auth/ldap/index.vue +4 -4
- package/edit/auth/oidc.vue +3 -3
- package/edit/auth/saml.vue +4 -4
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +2 -2
- package/edit/cis.cattle.io.clusterscan.vue +2 -2
- package/edit/constraints.gatekeeper.sh.constraint/index.vue +1 -1
- package/edit/fleet.cattle.io.clustergroup.vue +3 -3
- package/edit/fleet.cattle.io.gitrepo.vue +9 -9
- package/edit/group.principal.vue +2 -2
- package/edit/helm.cattle.io.projecthelmchart.vue +3 -3
- package/edit/logging-flow/index.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/datadog.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/gcs.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/gelf.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/kafka.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/logz.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/loki.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +213 -0
- package/edit/logging.banzaicloud.io.output/providers/redis.vue +142 -0
- package/edit/logging.banzaicloud.io.output/providers/s3.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +1 -1
- package/edit/logging.banzaicloud.io.output/providers/syslog.vue +1 -1
- package/edit/management.cattle.io.fleetworkspace.vue +1 -1
- package/edit/management.cattle.io.project.vue +3 -3
- package/edit/management.cattle.io.projectroletemplatebinding.vue +5 -5
- package/edit/management.cattle.io.setting.vue +1 -1
- package/edit/management.cattle.io.user.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +15 -15
- package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +1 -1
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +5 -5
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +3 -3
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +3 -3
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +4 -4
- package/edit/monitoring.coreos.com.receiver/auth.vue +2 -2
- package/edit/monitoring.coreos.com.receiver/index.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/email.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.route.vue +1 -1
- package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +1 -1
- package/edit/networking.k8s.io.ingress/Certificates.vue +3 -3
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
- package/edit/networking.k8s.io.ingress/IngressClass.vue +1 -1
- package/edit/networking.k8s.io.ingress/Rule.vue +1 -1
- package/edit/networking.k8s.io.ingress/RulePath.vue +5 -5
- package/edit/networking.k8s.io.ingress/Rules.vue +7 -7
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +1 -1
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +3 -3
- package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +1 -1
- package/edit/networking.k8s.io.networkpolicy/index.vue +5 -5
- package/edit/persistentvolume/index.vue +1 -1
- package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +1 -1
- package/edit/persistentvolume/plugins/azureDisk.vue +1 -1
- package/edit/persistentvolume/plugins/azureFile.vue +1 -1
- package/edit/persistentvolume/plugins/cephfs.vue +2 -2
- package/edit/persistentvolume/plugins/cinder.vue +1 -1
- package/edit/persistentvolume/plugins/csi.vue +2 -2
- package/edit/persistentvolume/plugins/fc.vue +2 -2
- package/edit/persistentvolume/plugins/flexVolume.vue +2 -2
- package/edit/persistentvolume/plugins/flocker.vue +1 -1
- package/edit/persistentvolume/plugins/gcePersistentDisk.vue +1 -1
- package/edit/persistentvolume/plugins/glusterfs.vue +1 -1
- package/edit/persistentvolume/plugins/hostPath.vue +1 -1
- package/edit/persistentvolume/plugins/iscsi.vue +2 -2
- package/edit/persistentvolume/plugins/local.vue +1 -1
- package/edit/persistentvolume/plugins/longhorn.vue +2 -2
- package/edit/persistentvolume/plugins/nfs.vue +1 -1
- package/edit/persistentvolume/plugins/photonPersistentDisk.vue +1 -1
- package/edit/persistentvolume/plugins/portworxVolume.vue +1 -1
- package/edit/persistentvolume/plugins/quobyte.vue +1 -1
- package/edit/persistentvolume/plugins/rbd.vue +2 -2
- package/edit/persistentvolume/plugins/scaleIO.vue +1 -1
- package/edit/persistentvolume/plugins/storageos.vue +1 -1
- package/edit/persistentvolume/plugins/vsphereVolume.vue +1 -1
- package/edit/persistentvolumeclaim.vue +2 -2
- package/edit/provisioning.cattle.io.cluster/DrainOptions.vue +1 -1
- package/edit/provisioning.cattle.io.cluster/MachinePool.vue +1 -1
- package/edit/provisioning.cattle.io.cluster/S3Config.vue +1 -1
- package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.tests.ts +1 -1
- package/edit/provisioning.cattle.io.cluster/import.vue +2 -2
- package/edit/provisioning.cattle.io.cluster/index.vue +2 -2
- package/edit/provisioning.cattle.io.cluster/rke2.vue +18 -12
- package/edit/resources.cattle.io.backup.vue +2 -2
- package/edit/secret/generic.vue +1 -0
- package/edit/storage.k8s.io.storageclass/index.vue +2 -2
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/no-provisioner.vue +1 -1
- package/edit/token.vue +1 -1
- package/edit/ui.cattle.io.navlink.vue +8 -8
- package/edit/workload/Job.vue +3 -3
- package/edit/workload/Upgrading.vue +1 -1
- package/edit/workload/VolumeClaimTemplate.vue +1 -1
- package/edit/workload/index.vue +3 -3
- package/edit/workload/mixins/workload.js +23 -23
- package/edit/workload/storage/ContainerMountPaths.vue +1 -1
- package/edit/workload/storage/Mount.vue +1 -1
- package/edit/workload/storage/azureDisk.vue +1 -1
- package/edit/workload/storage/azureFile.vue +1 -1
- package/edit/workload/storage/csi/index.vue +1 -1
- package/edit/workload/storage/ephemeralVolume/index.vue +1 -1
- package/edit/workload/storage/gcePersistentDisk.vue +1 -1
- package/edit/workload/storage/hostPath.vue +1 -1
- package/edit/workload/storage/nfs.vue +1 -1
- package/edit/workload/storage/persistentVolumeClaim/index.vue +1 -1
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +1 -1
- package/edit/workload/storage/secret.vue +1 -1
- package/edit/workload/storage/vsphereVolume.vue +1 -1
- package/layouts/default.vue +77 -16
- package/list/__tests__/workload.test.ts +50 -0
- package/list/fleet.cattle.io.gitrepo.vue +1 -1
- package/list/group.principal.vue +8 -8
- package/list/harvesterhci.io.management.cluster.vue +1 -1
- package/list/helm.cattle.io.projecthelmchart.vue +1 -1
- package/list/management.cattle.io.feature.vue +1 -1
- package/list/node.vue +1 -1
- package/list/provisioning.cattle.io.cluster.vue +3 -3
- package/machine-config/amazonec2.vue +1 -1
- package/machine-config/harvester.vue +4 -4
- package/mixins/__tests__/create-edit-view.test.ts +1 -1
- package/mixins/chart.js +14 -14
- package/mixins/create-edit-view/index.js +5 -5
- package/mixins/form-validation.js +1 -1
- package/mixins/labeled-form-element.ts +6 -6
- package/mixins/resource-fetch.js +3 -3
- package/mixins/resource-manager.js +1 -1
- package/models/autoscaling.horizontalpodautoscaler.js +5 -5
- package/models/batch.cronjob.js +15 -15
- package/models/batch.job.js +22 -0
- package/models/catalog.cattle.io.app.js +6 -6
- package/models/catalog.cattle.io.clusterrepo.js +7 -7
- package/models/catalog.cattle.io.operation.js +5 -5
- package/models/chart.js +4 -4
- package/models/cis.cattle.io.clusterscan.js +10 -10
- package/models/cluster/node.js +36 -36
- package/models/cluster.x-k8s.io.machine.js +13 -13
- package/models/constraints.gatekeeper.sh.constraint.js +1 -1
- package/models/etcdbackup.js +4 -4
- package/models/fleet.cattle.io.cluster.js +15 -15
- package/models/fleet.cattle.io.clustergroup.js +1 -1
- package/models/fleet.cattle.io.gitrepo.js +15 -15
- package/models/group.principal.js +1 -1
- package/models/logging.banzaicloud.io.clusterflow.js +2 -2
- package/models/logging.banzaicloud.io.flow.js +2 -2
- package/models/logging.banzaicloud.io.output.js +15 -3
- package/models/management.cattle.io.authconfig.js +4 -4
- package/models/management.cattle.io.cluster.js +9 -9
- package/models/management.cattle.io.clusterroletemplatebinding.js +8 -8
- package/models/management.cattle.io.globalrole.js +24 -3
- package/models/management.cattle.io.node.js +9 -9
- package/models/management.cattle.io.nodepool.js +3 -3
- package/models/management.cattle.io.nodetemplate.js +21 -21
- package/models/management.cattle.io.project.js +2 -2
- package/models/management.cattle.io.projectroletemplatebinding.js +6 -6
- package/models/management.cattle.io.roletemplate.js +54 -31
- package/models/management.cattle.io.user.js +4 -4
- package/models/monitoring.coreos.com.alertmanagerconfig.js +4 -4
- package/models/monitoring.coreos.com.receiver.js +7 -7
- package/models/monitoring.coreos.com.route.js +2 -2
- package/models/namespace.js +13 -0
- package/models/persistentvolumeclaim.js +4 -4
- package/models/pod.js +10 -10
- package/models/provisioning.cattle.io.cluster.js +29 -29
- package/models/rbac.authorization.k8s.io.role.js +4 -4
- package/models/rke.cattle.io.etcdsnapshot.js +4 -4
- package/models/service.js +15 -15
- package/models/storage.k8s.io.storageclass.js +8 -8
- package/models/workload.js +28 -28
- package/nuxt.config.js +32 -17
- package/package.json +1 -1
- package/pages/about.vue +1 -1
- package/pages/account/index.vue +1 -1
- package/pages/auth/login.vue +37 -7
- package/pages/auth/setup.vue +11 -11
- package/pages/c/_cluster/_product/_resource/_id.vue +2 -2
- package/pages/c/_cluster/apps/charts/chart.vue +4 -4
- package/pages/c/_cluster/apps/charts/index.vue +18 -18
- package/pages/c/_cluster/apps/charts/install.vue +14 -14
- package/pages/c/_cluster/auth/config/_id.vue +2 -2
- package/pages/c/_cluster/auth/roles/_resource/_id.vue +2 -2
- package/pages/c/_cluster/auth/roles/index.vue +4 -6
- package/pages/c/_cluster/explorer/EventsTable.vue +8 -8
- package/pages/c/_cluster/explorer/index.vue +14 -14
- package/pages/c/_cluster/explorer/tools/index.vue +4 -4
- package/pages/c/_cluster/fleet/GitRepoGraphConfig.js +2 -2
- package/pages/c/_cluster/fleet/index.vue +10 -10
- package/pages/c/_cluster/gatekeeper/index.vue +1 -1
- package/pages/c/_cluster/legacy/index.vue +1 -1
- package/pages/c/_cluster/longhorn/index.vue +1 -1
- package/pages/c/_cluster/mcapps/index.vue +1 -1
- package/pages/c/_cluster/navlinks/_group.vue +1 -1
- package/pages/c/_cluster/neuvector/index.vue +1 -1
- package/pages/c/_cluster/settings/banners.vue +30 -30
- package/pages/c/_cluster/settings/brand.vue +9 -9
- package/pages/c/_cluster/settings/links.vue +6 -6
- package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +1 -1
- package/pages/c/_cluster/uiplugins/InstallDialog.vue +1 -1
- package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +25 -8
- package/pages/c/_cluster/uiplugins/index.vue +2 -2
- package/pages/prefs.vue +11 -11
- package/pages/rio/mesh.vue +4 -4
- package/pages/support/index.vue +7 -7
- package/pkg/vue.config.js +10 -1
- package/plugins/dashboard-store/mutations.js +6 -6
- package/plugins/dashboard-store/normalize.js +1 -1
- package/plugins/dashboard-store/resource-class.js +100 -100
- package/plugins/steve/subscribe.js +4 -4
- package/plugins/steve/web-worker.steve-sub-worker.js +3 -3
- package/promptRemove/management.cattle.io.project.vue +1 -1
- package/promptRemove/mixin/roleDeletionCheck.js +7 -7
- package/promptRemove/pod.vue +2 -2
- package/rancher-components/Card/Card.test.ts +39 -0
- package/rancher-components/Card/Card.vue +3 -3
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +0 -1
- package/rancher-components/StringList/StringList.test.ts +420 -45
- package/rancher-components/StringList/StringList.vue +10 -1
- package/rancher-components/Utils/DraggableZone/DraggableZone.vue +181 -0
- package/rancher-components/Utils/DraggableZone/index.ts +1 -0
- package/rancher-components/components/BadgeState/BadgeState.spec.ts +12 -0
- package/rancher-components/components/BadgeState/BadgeState.vue +111 -0
- package/rancher-components/components/BadgeState/index.ts +1 -0
- package/rancher-components/components/Banner/Banner.test.ts +13 -0
- package/rancher-components/components/Banner/Banner.vue +174 -0
- package/rancher-components/components/Banner/index.ts +1 -0
- package/rancher-components/components/Card/Card.test.ts +37 -0
- package/rancher-components/components/Card/Card.vue +166 -0
- package/rancher-components/components/Card/index.ts +1 -0
- package/rancher-components/components/Form/Checkbox/Checkbox.test.ts +77 -0
- package/rancher-components/components/Form/Checkbox/Checkbox.vue +416 -0
- package/rancher-components/components/Form/Checkbox/index.ts +1 -0
- package/rancher-components/components/Form/LabeledInput/LabeledInput.test.ts +23 -0
- package/rancher-components/components/Form/LabeledInput/LabeledInput.vue +355 -0
- package/rancher-components/components/Form/LabeledInput/index.ts +1 -0
- package/rancher-components/components/Form/Radio/RadioButton.vue +276 -0
- package/rancher-components/components/Form/Radio/RadioGroup.vue +253 -0
- package/rancher-components/components/Form/Radio/index.ts +2 -0
- package/rancher-components/components/Form/TextArea/TextAreaAutoGrow.vue +169 -0
- package/rancher-components/components/Form/TextArea/index.ts +1 -0
- package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.test.ts +94 -0
- package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.vue +149 -0
- package/rancher-components/components/Form/ToggleSwitch/index.ts +1 -0
- package/rancher-components/components/Form/index.ts +5 -0
- package/rancher-components/components/LabeledTooltip/LabeledTooltip.vue +152 -0
- package/rancher-components/components/LabeledTooltip/index.ts +1 -0
- package/rancher-components/components/StringList/StringList.test.ts +483 -0
- package/rancher-components/components/StringList/StringList.vue +605 -0
- package/rancher-components/components/StringList/index.ts +1 -0
- package/rancher-components/components/Utils/DraggableZone/DraggableZone.vue +181 -0
- package/rancher-components/components/Utils/DraggableZone/index.ts +1 -0
- package/scripts/publish-shell.sh +38 -5
- package/scripts/record-deps.js +37 -0
- package/scripts/test-plugins-build.sh +11 -7
- package/scripts/typegen.sh +84 -0
- package/store/action-menu.js +3 -3
- package/store/auth.js +4 -4
- package/store/aws.js +4 -4
- package/store/catalog.js +22 -22
- package/store/index.js +4 -4
- package/store/plugins.js +2 -2
- package/store/prefs.js +9 -1
- package/store/type-map.js +46 -31
- package/store/uiplugins.ts +2 -2
- package/store/wm.js +10 -0
- package/types/shell/index.d.ts +3059 -0
- package/types/vue-shim.d +20 -0
- package/utils/alertmanagerconfig.js +6 -6
- package/utils/gc/gc-types.ts +1 -1
- package/utils/object.js +2 -2
- package/utils/parse-externalid.js +5 -5
- package/utils/time.js +6 -0
- package/utils/validators/formRules/__tests__/index.test.ts +3 -3
- package/components/.DS_Store +0 -0
- package/components/__tests__/.DS_Store +0 -0
- package/creators/pkg/nuxt.config.js +0 -6
- package/creators/pkg/package-lock.json +0 -37
|
@@ -123,7 +123,7 @@ export default class User extends HybridModel {
|
|
|
123
123
|
|
|
124
124
|
async refreshGroupMembership() {
|
|
125
125
|
const user = await this.$dispatch('rancher/find', {
|
|
126
|
-
type:
|
|
126
|
+
type: NORMAN.USER,
|
|
127
127
|
id: this.id,
|
|
128
128
|
}, { root: true });
|
|
129
129
|
|
|
@@ -158,9 +158,9 @@ export default class User extends HybridModel {
|
|
|
158
158
|
weight: 1
|
|
159
159
|
},
|
|
160
160
|
{
|
|
161
|
-
action:
|
|
162
|
-
label:
|
|
163
|
-
icon:
|
|
161
|
+
action: 'refreshGroupMembership',
|
|
162
|
+
label: this.t('authGroups.actions.refresh'),
|
|
163
|
+
icon: 'icon icon-refresh',
|
|
164
164
|
enabled: this.canRefreshAccess
|
|
165
165
|
},
|
|
166
166
|
{ divider: true },
|
|
@@ -102,9 +102,9 @@ export default class AlertmanagerConfig extends SteveModel {
|
|
|
102
102
|
alertmanagerconfigid: this.id
|
|
103
103
|
},
|
|
104
104
|
query: {
|
|
105
|
-
mode:
|
|
105
|
+
mode: queryMode || _VIEW,
|
|
106
106
|
receiverName,
|
|
107
|
-
currentView:
|
|
107
|
+
currentView: _YAML
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
110
|
}
|
|
@@ -117,9 +117,9 @@ export default class AlertmanagerConfig extends SteveModel {
|
|
|
117
117
|
alertmanagerconfigid: this.id
|
|
118
118
|
},
|
|
119
119
|
query: {
|
|
120
|
-
mode:
|
|
120
|
+
mode: queryMode || _VIEW,
|
|
121
121
|
receiverName,
|
|
122
|
-
currentView:
|
|
122
|
+
currentView: _CONFIG
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
125
|
}
|
|
@@ -36,13 +36,13 @@ export const RECEIVERS_TYPES = [
|
|
|
36
36
|
logo: require(`~shell/assets/images/vendor/email.svg`)
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
|
-
name:
|
|
40
|
-
label:
|
|
41
|
-
title:
|
|
42
|
-
key:
|
|
43
|
-
logo:
|
|
44
|
-
banner:
|
|
45
|
-
addButton:
|
|
39
|
+
name: 'webhook',
|
|
40
|
+
label: 'monitoringReceiver.webhook.label',
|
|
41
|
+
title: 'monitoringReceiver.webhook.title',
|
|
42
|
+
key: 'webhook_configs',
|
|
43
|
+
logo: require(`~shell/assets/images/vendor/webhook.svg`),
|
|
44
|
+
banner: 'webhook.banner',
|
|
45
|
+
addButton: 'webhook.add'
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
name: 'custom',
|
|
@@ -150,8 +150,8 @@ export default class Route extends SteveModel {
|
|
|
150
150
|
|
|
151
151
|
get receiverLink() {
|
|
152
152
|
return {
|
|
153
|
-
text:
|
|
154
|
-
to:
|
|
153
|
+
text: this.spec.receiver,
|
|
154
|
+
to: {
|
|
155
155
|
name: 'c-cluster-product-resource-id',
|
|
156
156
|
params: {
|
|
157
157
|
resource: MONITORING.SPOOFED.RECEIVER, product: MONITORING_PRODUCT, id: this.spec.receiver
|
package/models/namespace.js
CHANGED
|
@@ -210,4 +210,17 @@ export default class Namespace extends SteveModel {
|
|
|
210
210
|
set resourceQuota(value) {
|
|
211
211
|
Vue.set(this.metadata.annotations, RESOURCE_QUOTA, JSON.stringify(value));
|
|
212
212
|
}
|
|
213
|
+
|
|
214
|
+
// Preserve the project label - ensures we preserve project when cloning a namespace
|
|
215
|
+
cleanForNew() {
|
|
216
|
+
const project = this.metadata?.labels?.[PROJECT];
|
|
217
|
+
|
|
218
|
+
super.cleanForNew();
|
|
219
|
+
|
|
220
|
+
if (project) {
|
|
221
|
+
this.metadata = this.metadata || {};
|
|
222
|
+
this.metadata.labels = this.metadata.labels || {};
|
|
223
|
+
this.metadata.labels[PROJECT] = project;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
213
226
|
}
|
|
@@ -40,10 +40,10 @@ export default class PVC extends SteveModel {
|
|
|
40
40
|
// Add backwards, each one to the top
|
|
41
41
|
insertAt(out, 0, { divider: true });
|
|
42
42
|
insertAt(out, 0, {
|
|
43
|
-
action:
|
|
44
|
-
enabled:
|
|
45
|
-
icon:
|
|
46
|
-
label:
|
|
43
|
+
action: 'goToEditVolumeSize',
|
|
44
|
+
enabled: this.expandable && this.bound,
|
|
45
|
+
icon: 'icon icon-fw icon-plus',
|
|
46
|
+
label: this.t('persistentVolumeClaim.expand.label'),
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
return out;
|
package/models/pod.js
CHANGED
|
@@ -28,21 +28,21 @@ export default class Pod extends WorkloadService {
|
|
|
28
28
|
|
|
29
29
|
get openShellMenuItem() {
|
|
30
30
|
return {
|
|
31
|
-
action:
|
|
32
|
-
enabled:
|
|
33
|
-
icon:
|
|
34
|
-
label:
|
|
35
|
-
total:
|
|
31
|
+
action: 'openShell',
|
|
32
|
+
enabled: !!this.links.view && this.isRunning,
|
|
33
|
+
icon: 'icon icon-fw icon-chevron-right',
|
|
34
|
+
label: 'Execute Shell',
|
|
35
|
+
total: 1,
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
get openLogsMenuItem() {
|
|
40
40
|
return {
|
|
41
|
-
action:
|
|
42
|
-
enabled:
|
|
43
|
-
icon:
|
|
44
|
-
label:
|
|
45
|
-
total:
|
|
41
|
+
action: 'openLogs',
|
|
42
|
+
enabled: !!this.links.view,
|
|
43
|
+
icon: 'icon icon-fw icon-chevron-right',
|
|
44
|
+
label: 'View Logs',
|
|
45
|
+
total: 1,
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -104,10 +104,10 @@ export default class ProvCluster extends SteveModel {
|
|
|
104
104
|
// Note: Actions are not supported in the Steve API, so we check
|
|
105
105
|
// available actions for RKE1 clusters, but not RKE2 clusters.
|
|
106
106
|
{
|
|
107
|
-
action:
|
|
108
|
-
label:
|
|
109
|
-
icon:
|
|
110
|
-
enabled:
|
|
107
|
+
action: 'openShell',
|
|
108
|
+
label: this.$rootGetters['i18n/t']('nav.shell'),
|
|
109
|
+
icon: 'icon icon-terminal',
|
|
110
|
+
enabled: !!this.mgmt?.links.shell && ready,
|
|
111
111
|
}, {
|
|
112
112
|
action: 'downloadKubeConfig',
|
|
113
113
|
bulkAction: 'downloadKubeConfigBulk',
|
|
@@ -116,11 +116,11 @@ export default class ProvCluster extends SteveModel {
|
|
|
116
116
|
bulkable: true,
|
|
117
117
|
enabled: this.mgmt?.hasAction('generateKubeconfig') && ready,
|
|
118
118
|
}, {
|
|
119
|
-
action:
|
|
120
|
-
label:
|
|
121
|
-
bulkable:
|
|
122
|
-
enabled:
|
|
123
|
-
icon:
|
|
119
|
+
action: 'copyKubeConfig',
|
|
120
|
+
label: this.t('cluster.copyConfig'),
|
|
121
|
+
bulkable: false,
|
|
122
|
+
enabled: this.mgmt?.hasAction('generateKubeconfig') && ready,
|
|
123
|
+
icon: 'icon icon-copy',
|
|
124
124
|
}, {
|
|
125
125
|
action: 'snapshotAction',
|
|
126
126
|
label: this.$rootGetters['i18n/t']('nav.takeSnapshot'),
|
|
@@ -129,25 +129,25 @@ export default class ProvCluster extends SteveModel {
|
|
|
129
129
|
bulkable: true,
|
|
130
130
|
enabled: canSnapshot,
|
|
131
131
|
}, {
|
|
132
|
-
action:
|
|
133
|
-
label:
|
|
134
|
-
icon:
|
|
135
|
-
enabled:
|
|
132
|
+
action: 'restoreSnapshotAction',
|
|
133
|
+
label: this.$rootGetters['i18n/t']('nav.restoreSnapshot'),
|
|
134
|
+
icon: 'icon icon-fw icon-backup-restore',
|
|
135
|
+
enabled: canSnapshot,
|
|
136
136
|
}, {
|
|
137
|
-
action:
|
|
138
|
-
label:
|
|
139
|
-
icon:
|
|
140
|
-
enabled:
|
|
137
|
+
action: 'rotateCertificates',
|
|
138
|
+
label: this.$rootGetters['i18n/t']('nav.rotateCertificates'),
|
|
139
|
+
icon: 'icon icon-backup',
|
|
140
|
+
enabled: canEditRKE2cluster || (this.mgmt?.hasAction('rotateCertificates') && ready),
|
|
141
141
|
}, {
|
|
142
|
-
action:
|
|
143
|
-
label:
|
|
144
|
-
icon:
|
|
145
|
-
enabled:
|
|
142
|
+
action: 'rotateEncryptionKey',
|
|
143
|
+
label: this.$rootGetters['i18n/t']('nav.rotateEncryptionKeys'),
|
|
144
|
+
icon: 'icon icon-refresh',
|
|
145
|
+
enabled: canEditRKE2cluster || (this.isRke1 && this.mgmt?.hasAction('rotateEncryptionKey') && ready)
|
|
146
146
|
}, {
|
|
147
|
-
action:
|
|
148
|
-
label:
|
|
149
|
-
icon:
|
|
150
|
-
enabled:
|
|
147
|
+
action: 'saveAsRKETemplate',
|
|
148
|
+
label: this.$rootGetters['i18n/t']('nav.saveAsRKETemplate'),
|
|
149
|
+
icon: 'icon icon-folder',
|
|
150
|
+
enabled: canSaveRKETemplate,
|
|
151
151
|
}, { divider: true }];
|
|
152
152
|
|
|
153
153
|
return actions.concat(out);
|
|
@@ -552,8 +552,8 @@ export default class ProvCluster extends SteveModel {
|
|
|
552
552
|
takeSnapshot() {
|
|
553
553
|
if ( this.isRke1 ) {
|
|
554
554
|
return this.$dispatch('rancher/request', {
|
|
555
|
-
url:
|
|
556
|
-
method:
|
|
555
|
+
url: `/v3/clusters/${ escape(this.mgmt.id) }?action=backupEtcd`,
|
|
556
|
+
method: 'post',
|
|
557
557
|
}, { root: true });
|
|
558
558
|
} else {
|
|
559
559
|
const now = this.spec?.rkeConfig?.etcdSnapshotCreate?.generation || 0;
|
|
@@ -757,8 +757,8 @@ export default class ProvCluster extends SteveModel {
|
|
|
757
757
|
}, { root: true });
|
|
758
758
|
|
|
759
759
|
await this.$dispatch('management/request', {
|
|
760
|
-
url:
|
|
761
|
-
method:
|
|
760
|
+
url: `/k8s/clusters/${ harvesterClusterId }/v1/harvester/serviceaccounts/${ poolConfig.vmNamespace }/${ this.metadata.name }`,
|
|
761
|
+
method: 'DELETE',
|
|
762
762
|
}, { root: true });
|
|
763
763
|
} catch (e) {
|
|
764
764
|
console.error(e); // eslint-disable-line no-console
|
|
@@ -14,10 +14,10 @@ export default class Role extends SteveModel {
|
|
|
14
14
|
type: 'string',
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
path:
|
|
18
|
-
validators:
|
|
19
|
-
nullable:
|
|
20
|
-
type:
|
|
17
|
+
path: 'rules',
|
|
18
|
+
validators: [`roleTemplateRules:${ this.type }`],
|
|
19
|
+
nullable: false,
|
|
20
|
+
type: 'array',
|
|
21
21
|
},
|
|
22
22
|
];
|
|
23
23
|
}
|
|
@@ -12,10 +12,10 @@ export default class EtcdBackup extends NormanModel {
|
|
|
12
12
|
*/
|
|
13
13
|
get _availableActions() {
|
|
14
14
|
return [{
|
|
15
|
-
action:
|
|
16
|
-
enabled:
|
|
17
|
-
icon:
|
|
18
|
-
label:
|
|
15
|
+
action: 'promptRestore',
|
|
16
|
+
enabled: true,
|
|
17
|
+
icon: 'icon icon-fw icon-backup-restore',
|
|
18
|
+
label: 'Restore'
|
|
19
19
|
}];
|
|
20
20
|
}
|
|
21
21
|
|
package/models/service.js
CHANGED
|
@@ -58,25 +58,25 @@ export default class extends SteveModel {
|
|
|
58
58
|
type: 'dnsLabel',
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
nullable:
|
|
62
|
-
path:
|
|
63
|
-
required:
|
|
64
|
-
type:
|
|
65
|
-
validators:
|
|
61
|
+
nullable: false,
|
|
62
|
+
path: 'spec',
|
|
63
|
+
required: true,
|
|
64
|
+
type: 'array',
|
|
65
|
+
validators: ['servicePort'],
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
nullable:
|
|
69
|
-
path:
|
|
70
|
-
required:
|
|
71
|
-
type:
|
|
72
|
-
validators:
|
|
68
|
+
nullable: true,
|
|
69
|
+
path: 'spec',
|
|
70
|
+
required: true,
|
|
71
|
+
type: 'string',
|
|
72
|
+
validators: ['clusterIp'],
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
|
-
nullable:
|
|
76
|
-
path:
|
|
77
|
-
required:
|
|
78
|
-
type:
|
|
79
|
-
validators:
|
|
75
|
+
nullable: true,
|
|
76
|
+
path: 'spec',
|
|
77
|
+
required: true,
|
|
78
|
+
type: 'array',
|
|
79
|
+
validators: ['externalName'],
|
|
80
80
|
},
|
|
81
81
|
];
|
|
82
82
|
}
|
|
@@ -115,17 +115,17 @@ export default class extends SteveModel {
|
|
|
115
115
|
|
|
116
116
|
if (this.isDefault) {
|
|
117
117
|
out.unshift({
|
|
118
|
-
action:
|
|
119
|
-
enabled:
|
|
120
|
-
icon:
|
|
121
|
-
label:
|
|
118
|
+
action: 'resetDefault',
|
|
119
|
+
enabled: true,
|
|
120
|
+
icon: 'icon icon-fw icon-checkmark',
|
|
121
|
+
label: this.t('storageClass.actions.resetDefault'),
|
|
122
122
|
});
|
|
123
123
|
} else {
|
|
124
124
|
out.unshift({
|
|
125
|
-
action:
|
|
126
|
-
enabled:
|
|
127
|
-
icon:
|
|
128
|
-
label:
|
|
125
|
+
action: 'setDefault',
|
|
126
|
+
enabled: true,
|
|
127
|
+
icon: 'icon icon-fw icon-checkmark',
|
|
128
|
+
label: this.t('storageClass.actions.setAsDefault'),
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
131
|
|
package/models/workload.js
CHANGED
|
@@ -32,11 +32,11 @@ export default class Workload extends WorkloadService {
|
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
insertAt(out, 0, {
|
|
35
|
-
action:
|
|
36
|
-
label:
|
|
37
|
-
icon:
|
|
38
|
-
enabled:
|
|
39
|
-
bulkable:
|
|
35
|
+
action: 'redeploy',
|
|
36
|
+
label: this.t('action.redeploy'),
|
|
37
|
+
icon: 'icon icon-refresh',
|
|
38
|
+
enabled: !!this.links.update,
|
|
39
|
+
bulkable: true,
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
insertAt(out, 0, {
|
|
@@ -57,11 +57,11 @@ export default class Workload extends WorkloadService {
|
|
|
57
57
|
insertAt(out, 0, { divider: true }) ;
|
|
58
58
|
|
|
59
59
|
insertAt(out, 0, {
|
|
60
|
-
action:
|
|
61
|
-
enabled:
|
|
62
|
-
icon:
|
|
63
|
-
label:
|
|
64
|
-
total:
|
|
60
|
+
action: 'openShell',
|
|
61
|
+
enabled: !!this.links.view,
|
|
62
|
+
icon: 'icon icon-fw icon-chevron-right',
|
|
63
|
+
label: this.t('action.openShell'),
|
|
64
|
+
total: 1,
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
const toFilter = ['cloneYaml'];
|
|
@@ -221,17 +221,17 @@ export default class Workload extends WorkloadService {
|
|
|
221
221
|
type: 'subDomain',
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
|
-
nullable:
|
|
225
|
-
path:
|
|
226
|
-
required:
|
|
227
|
-
type:
|
|
228
|
-
validators:
|
|
224
|
+
nullable: false,
|
|
225
|
+
path: 'spec',
|
|
226
|
+
required: true,
|
|
227
|
+
type: 'object',
|
|
228
|
+
validators: ['containerImages'],
|
|
229
229
|
},
|
|
230
230
|
{
|
|
231
|
-
nullable:
|
|
232
|
-
path:
|
|
233
|
-
type:
|
|
234
|
-
validators:
|
|
231
|
+
nullable: true,
|
|
232
|
+
path: `${ podSpecPath }.affinity`,
|
|
233
|
+
type: 'object',
|
|
234
|
+
validators: ['podAffinity'],
|
|
235
235
|
}
|
|
236
236
|
];
|
|
237
237
|
|
|
@@ -311,22 +311,22 @@ export default class Workload extends WorkloadService {
|
|
|
311
311
|
const type = this._type ? this._type : this.type;
|
|
312
312
|
|
|
313
313
|
const detailItem = {
|
|
314
|
-
endpoint:
|
|
314
|
+
endpoint: {
|
|
315
315
|
label: 'Endpoints',
|
|
316
316
|
content: this.endpoint,
|
|
317
317
|
formatter: 'WorkloadDetailEndpoints'
|
|
318
318
|
},
|
|
319
|
-
ready:
|
|
320
|
-
label:
|
|
321
|
-
content:
|
|
319
|
+
ready: {
|
|
320
|
+
label: 'Ready',
|
|
321
|
+
content: this.ready
|
|
322
322
|
},
|
|
323
|
-
upToDate:
|
|
324
|
-
label:
|
|
325
|
-
content:
|
|
323
|
+
upToDate: {
|
|
324
|
+
label: 'Up-to-date',
|
|
325
|
+
content: this.upToDate
|
|
326
326
|
},
|
|
327
327
|
available: {
|
|
328
|
-
label:
|
|
329
|
-
content:
|
|
328
|
+
label: 'Available',
|
|
329
|
+
content: this.available
|
|
330
330
|
}
|
|
331
331
|
};
|
|
332
332
|
|
package/nuxt.config.js
CHANGED
|
@@ -38,7 +38,7 @@ const perfTest = (process.env.PERF_TEST === 'true'); // Enable performance testi
|
|
|
38
38
|
// 1 = Skip browser check
|
|
39
39
|
// 2 = Do not skip any checks
|
|
40
40
|
const skipEsLintCheckStr = (process.env.SKIP_ESLINT || '');
|
|
41
|
-
|
|
41
|
+
let skipEsLintCheck = parseInt(skipEsLintCheckStr, 10) || 2;
|
|
42
42
|
|
|
43
43
|
// ===============================================================================================
|
|
44
44
|
// Nuxt configuration
|
|
@@ -55,6 +55,21 @@ export default function(dir, _appConfig) {
|
|
|
55
55
|
let COMPONENTS_DIR = path.join(SHELL_ABS, 'rancher-components');
|
|
56
56
|
let typescript = {};
|
|
57
57
|
|
|
58
|
+
if (fs.existsSync(SHELL_ABS)) {
|
|
59
|
+
const stat = fs.lstatSync(SHELL_ABS);
|
|
60
|
+
|
|
61
|
+
// If @rancher/shell is a symlink, then use the components folder for it
|
|
62
|
+
if (stat.isSymbolicLink()) {
|
|
63
|
+
const REAL_SHELL_ABS = fs.realpathSync(SHELL_ABS); // In case the shell is being linked via 'yarn link'
|
|
64
|
+
|
|
65
|
+
COMPONENTS_DIR = path.join(REAL_SHELL_ABS, '..', 'pkg', 'rancher-components', 'src', 'components');
|
|
66
|
+
|
|
67
|
+
// For now, skip eslint check when being linked via yarn link - pkg folder is linked otherwise
|
|
68
|
+
// This will change when we remove nuxt
|
|
69
|
+
skipEsLintCheck = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
58
73
|
// If we have a local folder named 'shell' then use that rather than the one in node_modules
|
|
59
74
|
// This will be the case in the main dashboard repository.
|
|
60
75
|
if (fs.existsSync(path.join(dir, 'shell'))) {
|
|
@@ -324,9 +339,9 @@ export default function(dir, _appConfig) {
|
|
|
324
339
|
|
|
325
340
|
// Axios: https://axios.nuxtjs.org/options
|
|
326
341
|
axios: {
|
|
327
|
-
https:
|
|
328
|
-
proxy:
|
|
329
|
-
retry:
|
|
342
|
+
https: true,
|
|
343
|
+
proxy: true,
|
|
344
|
+
retry: { retries: 0 },
|
|
330
345
|
// debug: true
|
|
331
346
|
},
|
|
332
347
|
|
|
@@ -356,12 +371,12 @@ export default function(dir, _appConfig) {
|
|
|
356
371
|
],
|
|
357
372
|
|
|
358
373
|
dir: {
|
|
359
|
-
assets: path.join(SHELL, 'assets'),
|
|
360
|
-
layouts: path.join(SHELL, 'layouts'),
|
|
361
|
-
middleware: path.join(SHELL, 'middleware'),
|
|
362
|
-
pages: path.join(SHELL, 'pages'),
|
|
363
|
-
static: path.join(SHELL, 'static'),
|
|
364
|
-
store: path.join(SHELL, 'store'),
|
|
374
|
+
assets: path.posix.join(SHELL, 'assets'),
|
|
375
|
+
layouts: path.posix.join(SHELL, 'layouts'),
|
|
376
|
+
middleware: path.posix.join(SHELL, 'middleware'),
|
|
377
|
+
pages: path.posix.join(SHELL, 'pages'),
|
|
378
|
+
static: path.posix.join(SHELL, 'static'),
|
|
379
|
+
store: path.posix.join(SHELL, 'store'),
|
|
365
380
|
},
|
|
366
381
|
|
|
367
382
|
watchers: { webpack: { ignore: watcherIgnores } },
|
|
@@ -456,7 +471,7 @@ export default function(dir, _appConfig) {
|
|
|
456
471
|
|
|
457
472
|
// And substitute our own loader for images
|
|
458
473
|
config.module.rules.unshift({
|
|
459
|
-
test:
|
|
474
|
+
test: /\.(png|jpe?g|gif|svg|webp)$/,
|
|
460
475
|
use: [
|
|
461
476
|
{
|
|
462
477
|
loader: 'url-loader',
|
|
@@ -496,7 +511,7 @@ export default function(dir, _appConfig) {
|
|
|
496
511
|
|
|
497
512
|
// Prevent warning in log with the md files in the content folder
|
|
498
513
|
config.module.rules.push({
|
|
499
|
-
test:
|
|
514
|
+
test: /\.md$/,
|
|
500
515
|
use: [
|
|
501
516
|
{
|
|
502
517
|
loader: 'frontmatter-markdown-loader',
|
|
@@ -515,9 +530,9 @@ export default function(dir, _appConfig) {
|
|
|
515
530
|
require.resolve('@nuxt/babel-preset-app'),
|
|
516
531
|
{
|
|
517
532
|
// buildTarget: isServer ? 'server' : 'client',
|
|
518
|
-
corejs:
|
|
519
|
-
targets:
|
|
520
|
-
modern:
|
|
533
|
+
corejs: { version: 3 },
|
|
534
|
+
targets: isServer ? { node: '12' } : { browsers: ['last 2 versions'] },
|
|
535
|
+
modern: !isServer
|
|
521
536
|
}
|
|
522
537
|
],
|
|
523
538
|
'@babel/preset-typescript',
|
|
@@ -638,8 +653,8 @@ export default function(dir, _appConfig) {
|
|
|
638
653
|
key: fs.readFileSync(path.resolve(dir, SHELL, 'server/server.key')),
|
|
639
654
|
cert: fs.readFileSync(path.resolve(dir, SHELL, 'server/server.crt'))
|
|
640
655
|
} : null),
|
|
641
|
-
port:
|
|
642
|
-
host:
|
|
656
|
+
port: (devPorts ? 8005 : 80),
|
|
657
|
+
host: '0.0.0.0',
|
|
643
658
|
},
|
|
644
659
|
|
|
645
660
|
// Server middleware
|
package/package.json
CHANGED
package/pages/about.vue
CHANGED