From 2256ee3acf21edab8cdee1ac23aa28f5c07345b4 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Fri, 11 Feb 2022 05:09:54 -0500 Subject: [PATCH] Spelling (#4994) * spelling: accommodate Signed-off-by: Josh Soref * spelling: additional Signed-off-by: Josh Soref * spelling: address Signed-off-by: Josh Soref * spelling: array Signed-off-by: Josh Soref * spelling: async Signed-off-by: Josh Soref * spelling: attributes Signed-off-by: Josh Soref * spelling: automatically Signed-off-by: Josh Soref * spelling: available Signed-off-by: Josh Soref * spelling: awesomeness Signed-off-by: Josh Soref * spelling: because Signed-off-by: Josh Soref * spelling: behaviour Signed-off-by: Josh Soref * spelling: bootstrapping Signed-off-by: Josh Soref * spelling: calculated Signed-off-by: Josh Soref * spelling: callback Signed-off-by: Josh Soref * spelling: codemirror Signed-off-by: Josh Soref * spelling: config Signed-off-by: Josh Soref * spelling: configurable Signed-off-by: Josh Soref * spelling: constraints Signed-off-by: Josh Soref * spelling: default Signed-off-by: Josh Soref * spelling: deux Signed-off-by: Josh Soref * spelling: different Signed-off-by: Josh Soref * spelling: dissimilar Signed-off-by: Josh Soref * spelling: ensure Signed-off-by: Josh Soref * spelling: evaluate Signed-off-by: Josh Soref * spelling: example Signed-off-by: Josh Soref * spelling: existence Signed-off-by: Josh Soref * spelling: falsy Signed-off-by: Josh Soref * spelling: getter Signed-off-by: Josh Soref * spelling: global Signed-off-by: Josh Soref * spelling: grafana Signed-off-by: Josh Soref * spelling: image Signed-off-by: Josh Soref * spelling: integer Signed-off-by: Josh Soref * spelling: manifest Signed-off-by: Josh Soref * spelling: microservices Signed-off-by: Josh Soref * spelling: milli Signed-off-by: Josh Soref * spelling: mismatch Signed-off-by: Josh Soref * spelling: modifier Signed-off-by: Josh Soref * spelling: namespace Signed-off-by: Josh Soref * spelling: navigation Signed-off-by: Josh Soref * spelling: nullable Signed-off-by: Josh Soref * spelling: occurred Signed-off-by: Josh Soref * spelling: package Signed-off-by: Josh Soref * spelling: param Signed-off-by: Josh Soref * spelling: permissions Signed-off-by: Josh Soref * spelling: portion Signed-off-by: Josh Soref * spelling: potentially Signed-off-by: Josh Soref * spelling: powershell Signed-off-by: Josh Soref * spelling: recipient Signed-off-by: Josh Soref * spelling: records Signed-off-by: Josh Soref * spelling: representation Signed-off-by: Josh Soref * spelling: request Signed-off-by: Josh Soref * spelling: required Signed-off-by: Josh Soref * spelling: returns Signed-off-by: Josh Soref * spelling: separated Signed-off-by: Josh Soref * spelling: should Signed-off-by: Josh Soref * spelling: software Signed-off-by: Josh Soref * spelling: substitute Signed-off-by: Josh Soref * spelling: support Signed-off-by: Josh Soref * spelling: their Signed-off-by: Josh Soref * spelling: unknown Signed-off-by: Josh Soref * spelling: upfront Signed-off-by: Josh Soref * spelling: upgrade Signed-off-by: Josh Soref * spelling: useful Signed-off-by: Josh Soref * spelling: validator Signed-off-by: Josh Soref Co-authored-by: Josh Soref --- assets/styles/fonts/_icons.scss | 2 +- assets/translations/en-us.yaml | 36 +++++++++---------- assets/translations/zh-hans.yaml | 14 ++++---- chart/monitoring/ClusterSelector.vue | 4 +-- components/EmberPage.vue | 4 +-- components/RelatedResources.vue | 2 +- components/SortableTable/selectionStore.js | 2 +- components/dialog/harvester/SupportBundle.vue | 2 +- components/form/ChangePassword.vue | 6 ++-- components/form/KeyValue.vue | 2 +- components/form/Probe.vue | 2 +- components/form/SelectOrCreateAuthSecret.vue | 2 +- components/form/ShellInput.vue | 2 +- components/form/UnitInput.vue | 2 +- components/formatter/WorkloadHealthScale.vue | 4 +-- components/nav/TopLevelMenu.vue | 2 +- config/product/apps.js | 2 +- config/product/logging.js | 2 +- config/types.js | 2 +- cypress/support/index.ts | 2 +- detail/management.cattle.io.user.vue | 8 ++--- docs/developer/getting-started/concepts.md | 2 +- .../development_environment.md | 2 +- docs/developer/machine-drivers.md | 2 +- edit/auth/github.vue | 2 +- edit/auth/ldap/config.vue | 2 +- .../Scope.vue | 2 +- .../types/email.vue | 2 +- .../workload/storage/awsElasticBlockStore.vue | 2 +- edit/workload/storage/azureDisk.vue | 2 +- models/catalog.cattle.io.app.js | 2 +- models/namespace.js | 2 +- ...plates.gatekeeper.sh.constrainttemplate.js | 2 +- nuxt.config.js | 2 +- .../manager/cloudCredential/index.vue | 2 +- plugins/js-yaml.js | 2 +- plugins/steve/actions.js | 4 +-- plugins/steve/resource-class.js | 6 ++-- plugins/steve/subscribe.js | 2 +- scripts/storybook-install | 2 +- store/index.js | 2 +- store/plugins.js | 2 +- store/type-map.js | 10 +++--- stories/README.md | 2 +- test/utils/array.js | 4 +-- utils/create-yaml.js | 2 +- utils/monitoring.js | 2 +- utils/validators/vm.js | 2 +- 48 files changed, 87 insertions(+), 87 deletions(-) diff --git a/assets/styles/fonts/_icons.scss b/assets/styles/fonts/_icons.scss index 4f44a8d4b1..3251644630 100644 --- a/assets/styles/fonts/_icons.scss +++ b/assets/styles/fonts/_icons.scss @@ -28,7 +28,7 @@ } } -// FontAwesomness +// FontAwesomeness $icon-li-width: math.div(30em, 14) !default; $icon-inverse: #fff !default; diff --git a/assets/translations/en-us.yaml b/assets/translations/en-us.yaml index b238ad4044..3b1778b4aa 100644 --- a/assets/translations/en-us.yaml +++ b/assets/translations/en-us.yaml @@ -175,7 +175,7 @@ product: suffix: percent: "%" - milliCpus: mili CPUs + milliCpus: milli CPUs cores: Cores cpus: CPUs ib: iB @@ -285,7 +285,7 @@ authConfig: app: label: Application name value: 'Anything you like, e.g. My {vendor}' - calllback: + callback: label: Authorization callback URL description: label: Application description @@ -869,7 +869,7 @@ changePassword: label: Generated Password newGeneratedPassword: Suggest a password errors: - missmatchedPassword: Passwords do not match + mismatchedPassword: Passwords do not match failedToChange: Failed to change password failedDeleteKey: Failed to delete key failedDeleteKeys: Failed to delete keys @@ -983,7 +983,7 @@ cluster: registrationCommand: label: Registration Command linuxDetail: Run this command on each of the existing Linux machines you want to register. - windowsDetail: Run this command in Powershell on each of the existing Windows machines you want to register. Windows nodes can only be workers. + windowsDetail: Run this command in PowerShell on each of the existing Windows machines you want to register. Windows nodes can only be workers. windowsNotReady: The cluster must be up and running with Linux etcd, control plane, and worker nodes before the registration command for adding Windows workers will display. windowsWarning: Workload pods, including some deployed by Rancher charts, will be scheduled on both Linux and Windows nodes by default. Edit NodeSelector in the chart to direct them to be placed onto a compatible node. insecure: "Insecure: Select this to skip TLS verification if your server has a self-signed certificate." @@ -1169,7 +1169,7 @@ cluster: availabilitySet: label: Availability Set (unmanaged) dns: - help: A unique DNS label for the public IP adddress. + help: A unique DNS label for the public IP address. label: DNS Label environment: label: Environment @@ -1373,7 +1373,7 @@ cluster: addOns: additionalManifest: title: Additional Manifest - tooltip: 'Additional Kubernetes Manifet YAML to be applied to the cluster on startup.' + tooltip: 'Additional Kubernetes Manifest YAML to be applied to the cluster on startup.' advanced: argInfo: title: Additional Kubelet Args @@ -1660,7 +1660,7 @@ clusterIndexPage: buttonText: Configure Gatekeeper disabled: OPA Gatekeeper is not configured. label: OPA Gatekeeper Constraint Violations - noRows: There are no contraints with violations to show. + noRows: There are no constraints with violations to show. nodes: label: Unhealthy Nodes noRows: There are no unhealthy nodes to show. @@ -2496,10 +2496,10 @@ login: serverError: authFailedCreds: "Logging in failed: Check credentials, or your account may not be authorized to log in." authFailed: "Logging in failed: Your account may not be authorized to log in." - unknown: "An unknown error occured while attempting to login. Please contact your system administrator." + unknown: "An unknown error occurred while attempting to login. Please contact your system administrator." invalidSamlAttrs: "Invalid saml attributes" noResponse: "No response received" - error: An error occured logging in. Please try again. + error: An error occurred logging in. Please try again. clientError: Invalid username or password. Please try again. useLocal: Use a local user loginWithProvider: Log in with {provider} @@ -2556,7 +2556,7 @@ monitoring: tip: 'Adds labels to the ClusterRoles deployed by the Monitoring chart to aggregate to the corresponding default k8s admin, edit, and view ClusterRoles.' alerting: config: - label: Alert Manager Cofig + label: Alert Manager Config enable: label: Deploy Alertmanager secrets: @@ -3282,7 +3282,7 @@ probe: port: label: Check Port placeholder: e.g. 80 - placeholderDuex: e.g. 25 + placeholderDeux: e.g. 25 initialDelay: label: Initial Delay placeholder: 'Default: 0' @@ -4455,7 +4455,7 @@ validation: This screen has been updated to reflect the current values on the cluster. Review and reapply the changes you wanted to make, then Save again. Conflicting {fieldCount, plural, =1 {field} other {fields}}: {fields} custom: - missing: 'No validtor exists for { validatorName }! Does the validtor exist in custom-validtors? Is the name spelled correctly?' + missing: 'No validator exists for { validatorName }! Does the validator exist in custom-validators? Is the name spelled correctly?' dns: doubleHyphen: '"{key}" Cannot contain two or more consecutive hyphens' hostname: @@ -4535,10 +4535,10 @@ validation: name: required: 'Port Rule [{position}] - Name is required.' nodePort: - requriedInt: 'Port Rule [{position}] - Node Port must be interger values if included.' + requiredInt: 'Port Rule [{position}] - Node Port must be integer values if included.' port: required: 'Port Rule [{position}] - Port is required.' - requriedInt: 'Port Rule [{position}] - Port must be interger values if included.' + requiredInt: 'Port Rule [{position}] - Port must be integer values if included.' targetPort: between: 'Port Rule [{position}] - Target Port must be between 1 and 65535' iana: 'Port Rule [{position}] - Target Port must be an IANA Service Name or Integer' @@ -5740,7 +5740,7 @@ typeDescription: cis.cattle.io.clusterscanprofile: A profile is the configuration for the CIS scan, which is the benchmark versions to use and any specific tests to skip in that benchmark. cis.cattle.io.clusterscan: A scan is created to trigger a CIS scan on the cluster based on the defined profile. A report is created after the scan is completed. cis.cattle.io.clusterscanreport: A report is the result of a CIS scan of the cluster. - management.cattle.io.feature: Feature Flags allow certain {vendor} features to be toggled on and off. Features that are off by default shoud be considered experimental functionality. + management.cattle.io.feature: Feature Flags allow certain {vendor} features to be toggled on and off. Features that are off by default should be considered experimental functionality. cluster.x-k8s.io.machine: A Machine encapsulates the configuration of a Kubernetes Node. Use this view to see what happens after updating a cluster. cluster.x-k8s.io.machinedeployment: A Machine Deployment orchestrates deployments via templates over a collection of Machine Sets (similar to a Deployment). Use this view to see what happens after updating a cluster. cluster.x-k8s.io.machineset: A Machine Set ensures the desired number of Machine resources are up and running at all times (similar to a ReplicaSet). Use this view to see what happens after updating a cluster. @@ -5759,7 +5759,7 @@ typeDescription: catalog.cattle.io.app: An installed application is a Helm 3 chart that was installed either via our charts or through the Helm CLI. logging.banzaicloud.io.clusterflow: Logs from the cluster will be collected and logged to the selected Cluster Output. logging.banzaicloud.io.clusteroutput: A cluster output defines which logging providers that logs can be sent to and is only effective when deployed in the namespace that the logging operator is in. - logging.banzaicloud.io.flow: A flow defines which logs to collect and filter as well as which output to send the logs. The flow is a namespaced resource, which means logs will only be collected from the namepsace that the flow is deployed in. + logging.banzaicloud.io.flow: A flow defines which logs to collect and filter as well as which output to send the logs. The flow is a namespaced resource, which means logs will only be collected from the namespace that the flow is deployed in. logging.banzaicloud.io.output: An output defines which logging providers that logs can be sent to. The output needs to be in the same namespace as the flow that is using it. group.principal: Assigning global roles to a group only works with external auth providers that support groups. Local authorization does not support groups. @@ -6177,7 +6177,7 @@ featureFlags: label: Feature Flags warning: |- Feature flags allow {vendor} to gate certain features behind flags. - Features that are off by defult shoud be considered experimental functionality. + Features that are off by default should be considered experimental functionality. Some features require a restart of the {vendor} server to change. This will result in a short outage of the API and UI, but not affect running clusters or workloads. promptActivate: Please confirm that you want to activate the feature flag "{flag}" @@ -6258,7 +6258,7 @@ resourceQuota: projectLimit: Project Limit projectResourceAvailability: Project Resource Availability resourceType: Resource Type - helpText: Configure how much of the resources the namesapce as a whole can consume. + helpText: Configure how much of the resources the namespace as a whole can consume. helpTextDetail: The amount of resources the namespace as a whole can consume. configMaps: Config Maps limitsCpu: CPU Limit diff --git a/assets/translations/zh-hans.yaml b/assets/translations/zh-hans.yaml index d6dbeb19cf..9d90109cad 100644 --- a/assets/translations/zh-hans.yaml +++ b/assets/translations/zh-hans.yaml @@ -179,7 +179,7 @@ product: suffix: percent: "%" - milliCpus: mili CPU + milliCpus: milli CPU cores: 核心 cpus: CPU ib: iB @@ -289,7 +289,7 @@ authConfig: app: label: 应用名称 value: '输入一个应用名称,例如:我的 {vendor}' - calllback: + callback: label: 授权回调 URL description: label: 应用描述 @@ -880,7 +880,7 @@ changePassword: label: 生成的密码 newGeneratedPassword: 推荐密码 errors: - missmatchedPassword: 前后两次输入的密码不匹配 + mismatchedPassword: 前后两次输入的密码不匹配 failedToChange: 无法修改密码 failedDeleteKey: 无法删除单个 API 密钥 failedDeleteKeys: 无法删除多个 API 密钥 @@ -994,7 +994,7 @@ cluster: registrationCommand: label: 注册命令 linuxDetail: 在每台要注册的 Linux 机器上运行此命令。 - windowsDetail: 在每台要注册的 Windows 机器中的 Powershell 上运行此命令。Windows 节点只能充当 worker。 + windowsDetail: 在每台要注册的 Windows 机器中的 PowerShell 上运行此命令。Windows 节点只能充当 worker。 windowsNotReady: 在用于添加 Windows worker 的注册命令显示之前,集群必须已启动并运行 Linux ETCD,Control Plane,以及 worker 节点。 windowsWarning: 工作负载 Pod(包括由 Rancher Chart 部署的 Pod)将默认调度到 Linux 和 Windows 节点上。编辑 Chart 中的 NodeSelector 以将它们放置到兼容的节点上。 insecure: "不安全:如果你的服务器具有自签名证书,选择此项以跳过 TLS 验证。" @@ -3280,7 +3280,7 @@ probe: port: label: 检查端口 placeholder: 例如:80 - placeholderDuex: 例如:25 + placeholderDeux: 例如:25 initialDelay: label: 初始延迟 placeholder: '默认值:0' @@ -4557,10 +4557,10 @@ validation: name: required: '端口规则 [{position}] - 端口名称是必填项。' nodePort: - requriedInt: '端口规则 [{position}] - 如果包含节点端口,节点端口必须是整数。' + requiredInt: '端口规则 [{position}] - 如果包含节点端口,节点端口必须是整数。' port: required: '端口规则 [{position}] - 端口是必填项,' - requriedInt: '端口规则 [{position}] - 如果包含端口,端口必须是整数。' + requiredInt: '端口规则 [{position}] - 如果包含端口,端口必须是整数。' targetPort: between: '端口规则 [{position}] - 目标端口的取值范围是:1-65535' iana: '端口规则 [{position}] - 目标端口必须是 IANA 服务名称或整数' diff --git a/chart/monitoring/ClusterSelector.vue b/chart/monitoring/ClusterSelector.vue index 5ab04c1147..6a84cb15a7 100644 --- a/chart/monitoring/ClusterSelector.vue +++ b/chart/monitoring/ClusterSelector.vue @@ -112,8 +112,8 @@ export default { }, watch: { - // This method is not that disimilar to persistentStorageType in Grafan config - // The reason for the divergence is that Grafna has a subkey on the chart + // This method is not that dissimilar to persistentStorageType in Grafana config + // The reason for the divergence is that Grafana has a subkey on the chart // where these keys are at the root of the chart. Vue complains about calling // this.$set(this, 'value', obj) as we need to do here to reset the values in bulk. // So rather than call each set on each line individually I give you this. diff --git a/components/EmberPage.vue b/components/EmberPage.vue index a15bd92912..bd7b995dc0 100644 --- a/components/EmberPage.vue +++ b/components/EmberPage.vue @@ -12,7 +12,7 @@ const WINDOW_MANAGER = 'windowmanager'; // Pages that we should intercept when loaded in the IFRAME and instead // navigate to a page in Cluster Dashboard -// exmample if the Ember clusters page that is navigated to when the user presses cancel on some pages +// example if the Ember clusters page that is navigated to when the user presses cancel on some pages // we intercept this and go the the vue Clusters page instead const INTERCEPTS = { 'global-admin.clusters.index': { @@ -220,7 +220,7 @@ export default { this.loaded = false; this.emberCheck = this.$axios.CancelToken.source(); - // Make a head requst to a known asset of the Ember UI + // Make a head request to a known asset of the Ember UI const pageUrl = `${ window.location.origin }/assets/images/logos/rke.svg`; const response = await this.$axios.head(pageUrl, { timeout: PAGE_CHECK_TIMEOUT, diff --git a/components/RelatedResources.vue b/components/RelatedResources.vue index 68abb7ea42..3619c2e152 100644 --- a/components/RelatedResources.vue +++ b/components/RelatedResources.vue @@ -77,7 +77,7 @@ export default { let name = r[`${ this.direction }Id`]; - // Skip things like toType/toNamspace+selector for now + // Skip things like toType/toNamespace+selector for now if ( !name ) { continue; } diff --git a/components/SortableTable/selectionStore.js b/components/SortableTable/selectionStore.js index 8502311ad3..878646bca6 100644 --- a/components/SortableTable/selectionStore.js +++ b/components/SortableTable/selectionStore.js @@ -56,7 +56,7 @@ export const getters = { } // Go through all the selected items and add the actions (which were already identified above) - // as availalable for some (or all) of the selected nodes + // as available for some (or all) of the selected nodes for ( const node of selected ) { if (node.availableActions) { for ( const act of node.availableActions ) { diff --git a/components/dialog/harvester/SupportBundle.vue b/components/dialog/harvester/SupportBundle.vue index 457e6a4f2d..22bacd2bb7 100644 --- a/components/dialog/harvester/SupportBundle.vue +++ b/components/dialog/harvester/SupportBundle.vue @@ -8,7 +8,7 @@ import GraphCircle from '@/components/graph/Circle'; import Banner from '@/components/Banner'; export default { - name: 'SuppportBundle', + name: 'SupportBundle', components: { LabeledInput, diff --git a/components/form/ChangePassword.vue b/components/form/ChangePassword.vue index a103509e71..8990a3e8b3 100644 --- a/components/form/ChangePassword.vue +++ b/components/form/ChangePassword.vue @@ -179,7 +179,7 @@ export default { passwordsMatch() { const match = this.passwordNew === this.passwordConfirm; - this.errorMessages = this.passwordConfirmBlurred && !match ? [this.t('changePassword.errors.missmatchedPassword')] : []; + this.errorMessages = this.passwordConfirmBlurred && !match ? [this.t('changePassword.errors.mismatchedPassword')] : []; return match; }, @@ -194,7 +194,7 @@ export default { } if (this.isRandomGenerated) { - // If we're not changing current user... and password is randomly generated... there'll be no new/confirm missmatch + // If we're not changing current user... and password is randomly generated... there'll be no new/confirm mismatch return true; } @@ -214,7 +214,7 @@ export default { const isValid = this.isValid(); if (isValid) { - // Covers the case where we don't re-evaludate the error messages (don't need to at the time) + // Covers the case where we don't re-evaluate the error messages (don't need to at the time) this.errorMessages = []; } diff --git a/components/form/KeyValue.vue b/components/form/KeyValue.vue index 5fb97182a1..ff736ffa8a 100644 --- a/components/form/KeyValue.vue +++ b/components/form/KeyValue.vue @@ -153,7 +153,7 @@ export default { }, // For asMap=false, preserve (copy) these keys from the original value into the emitted value. - // Also usefule for valueFrom as above. + // Also useful for valueFrom as above. preserveKeys: { type: Array, default: null, diff --git a/components/form/Probe.vue b/components/form/Probe.vue index 540701a52b..e10367fa35 100644 --- a/components/form/Probe.vue +++ b/components/form/Probe.vue @@ -191,7 +191,7 @@ export default { max="65535" :mode="mode" :label="t('probe.httpGet.port.label')" - :placeholder="t('probe.httpGet.port.placeholderDuex')" + :placeholder="t('probe.httpGet.port.placeholderDeux')" />
diff --git a/components/form/SelectOrCreateAuthSecret.vue b/components/form/SelectOrCreateAuthSecret.vue index 634d2b2367..14c605ed71 100644 --- a/components/form/SelectOrCreateAuthSecret.vue +++ b/components/form/SelectOrCreateAuthSecret.vue @@ -393,7 +393,7 @@ export default { privateField = 'password'; break; default: - throw new Error('Uknown type'); + throw new Error('Unknown type'); } secret._type = type; diff --git a/components/form/ShellInput.vue b/components/form/ShellInput.vue index 74eacc08bc..c406865c3d 100644 --- a/components/form/ShellInput.vue +++ b/components/form/ShellInput.vue @@ -11,7 +11,7 @@ export default { } }, /* - userValue is a string respresentation of args array, with spaces between each array item and single quotes around any items with whitespace + userValue is a string representation of args array, with spaces between each array item and single quotes around any items with whitespace value input of ["-c", "sleep 600"] is displayed as: "-c 'sleep 600'" diff --git a/components/form/UnitInput.vue b/components/form/UnitInput.vue index 58f7eafd0c..f26e51a69a 100644 --- a/components/form/UnitInput.vue +++ b/components/form/UnitInput.vue @@ -8,7 +8,7 @@ export default { props: { // Convert output to string - // Output will also be a string regardless of this prop if outputModifer = true + // Output will also be a string regardless of this prop if outputModifier = true outputAs: { type: String, default: 'number', diff --git a/components/formatter/WorkloadHealthScale.vue b/components/formatter/WorkloadHealthScale.vue index c4c44d0756..5b5069662c 100644 --- a/components/formatter/WorkloadHealthScale.vue +++ b/components/formatter/WorkloadHealthScale.vue @@ -104,7 +104,7 @@ export default { // If the drop down content appears outside of the window then move it to be above the trigger // Do this is three steps // expanded: false & expanded-checked = false - Content does not appear in DOM - // expanded: true & expanded-checked = false - Content appears in DOM (so it's location can be calcualated to be in or out of an area) but isn't visible (user doesn't see content blip from below to above trigger) + // expanded: true & expanded-checked = false - Content appears in DOM (so it's location can be calculated to be in or out of an area) but isn't visible (user doesn't see content blip from below to above trigger) // expanded: true & expanded-checked = true - Content appears in DOM and is visible (it's final location is known so user can see) setTimeout(() => { // There be beasts without this (classes don't get applied... so drop down never gets shown) const dropdown = document.getElementById(this.id); @@ -115,7 +115,7 @@ export default { return; } - // Ensire drop down will be inside of the window, otherwise show above the trigger + // Ensure drop down will be inside of the window, otherwise show above the trigger const bounding = dropdown.getBoundingClientRect(); const insideWindow = this.insideBounds(bounding, { top: 0, diff --git a/components/nav/TopLevelMenu.vue b/components/nav/TopLevelMenu.vue index bd14d5378c..0634487025 100644 --- a/components/nav/TopLevelMenu.vue +++ b/components/nav/TopLevelMenu.vue @@ -166,7 +166,7 @@ export default { }, methods: { - // Cluster list number of items shown is configurbale via user preference + // Cluster list number of items shown is configurable via user preference setClusterListHeight(maxToShow) { const el = this.$refs.clusterList; const max = Math.min(maxToShow, this.clusters.length); diff --git a/config/product/apps.js b/config/product/apps.js index f9bcb26be6..38245c0351 100644 --- a/config/product/apps.js +++ b/config/product/apps.js @@ -91,7 +91,7 @@ export function init(store) { }, { name: 'releaseNamespace', - label: 'Tgt Namepsace', + label: 'Tgt Namespace', sort: 'status.namespace', value: 'status.namespace', labelKey: 'catalog.operation.tableHeaders.releaseNamespace', diff --git a/config/product/logging.js b/config/product/logging.js index ad59741d44..9ac8182aa6 100644 --- a/config/product/logging.js +++ b/config/product/logging.js @@ -315,7 +315,7 @@ export function init(store) { delimiter: { type: 'string' }, delimiter_pattern: { type: 'string' }, label_delimiter: { type: 'string' }, - multiline: { type: 'arrray[string]' }, + multiline: { type: 'array[string]' }, patterns: { type: `array[${ LOGGING.SPOOFED.SINGLEPARSESECTION }]` }, tracing_annotation_prefix: { type: 'string' }, source_host_key_name: { type: 'string' }, diff --git a/config/types.js b/config/types.js index d46cdc467a..4dcb75927b 100644 --- a/config/types.js +++ b/config/types.js @@ -1,5 +1,5 @@ // -------------------------------------- -// 1. Provided by Steve and always potentialy available +// 1. Provided by Steve and always potentially available // -------------------------------------- // Steve-specific virtual types diff --git a/cypress/support/index.ts b/cypress/support/index.ts index 64ba4913ed..21f138909a 100644 --- a/cypress/support/index.ts +++ b/cypress/support/index.ts @@ -13,7 +13,7 @@ declare global { } // TODO handle redirection errors better? -// we see a lot of 'error nagivation cancelled' uncaught exceptions that don't actually break anything; ignore them here +// we see a lot of 'error navigation cancelled' uncaught exceptions that don't actually break anything; ignore them here Cypress.on('uncaught:exception', (err, runnable) => { // returning false here prevents Cypress from failing the test if (err.message.includes('navigation guard')) { diff --git a/detail/management.cattle.io.user.vue b/detail/management.cattle.io.user.vue index 39512f19bf..7c01ccd0aa 100644 --- a/detail/management.cattle.io.user.vue +++ b/detail/management.cattle.io.user.vue @@ -27,7 +27,7 @@ export default { this.canSeeRoleTemplates = !!this.$store.getters[`management/canList`](MANAGEMENT.ROLE_TEMPLATE); if (this.canSeeRoleTemplates) { - // Upfront fetch, avoid aysnc computes + // Upfront fetch, avoid async computes await Promise.all([ await this.$store.dispatch('rancher/find', { type: NORMAN.USER, id: this.value.id }), await this.$store.dispatch('management/findAll', { type: MANAGEMENT.ROLE_TEMPLATE }), @@ -160,7 +160,7 @@ export default { return out; } catch (e) { // Swallow the error. It's probably due to the user not having the correct permissions to read global roles - console.error('Failed to fetch gobal role bindings: ', e); // eslint-disable-line no-console + console.error('Failed to fetch global role bindings: ', e); // eslint-disable-line no-console } }, @@ -168,7 +168,7 @@ export default { const templateBindings = this.$store.getters['management/all'](MANAGEMENT.CLUSTER_ROLE_TEMPLATE_BINDING); const userTemplateBindings = templateBindings.filter(binding => binding.userName === userId); - // Upront load clusters + // Upfront load clusters userTemplateBindings.map(b => this.$store.dispatch('management/find', { type: MANAGEMENT.CLUSTER, id: b.clusterName })); return userTemplateBindings; @@ -184,7 +184,7 @@ export default { return userTemplateBindings; }, - // Global Permisions Helpers (brought over from ember) + // Global Permissions Helpers (brought over from ember) hasPermission(globalRoleRules, permission) { return globalRoleRules.find((gRule) => { return ((gRule.apiGroups || []).includes('*') || (gRule.apiGroups || []).includes(permission.apiGroup)) && diff --git a/docs/developer/getting-started/concepts.md b/docs/developer/getting-started/concepts.md index e9c8ca775b..c3fa374e3e 100644 --- a/docs/developer/getting-started/concepts.md +++ b/docs/developer/getting-started/concepts.md @@ -40,7 +40,7 @@ To gain familiarity with building and running container images, it may help to g Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. -While it is possible to build a Kubernetes cluster on a single node managing a simple software application, that is not really what Kubernetes is intended for. Kubernetes is a complex solution intended to solve complex problems, and it is recommended for users who are running sofware applications that consist of at least twelve to fourteen microservices. When we say microservcices, we mean that the software is so complex that it needed to be divided into multiple independent parts that run in separate containers. If your software application can run in a single container, you probably don't need Kubernetes because it would be easier to manage it manually than to introduce the full complexity of Kubernetes to manage that container. +While it is possible to build a Kubernetes cluster on a single node managing a simple software application, that is not really what Kubernetes is intended for. Kubernetes is a complex solution intended to solve complex problems, and it is recommended for users who are running software applications that consist of at least twelve to fourteen microservices. When we say microservices, we mean that the software is so complex that it needed to be divided into multiple independent parts that run in separate containers. If your software application can run in a single container, you probably don't need Kubernetes because it would be easier to manage it manually than to introduce the full complexity of Kubernetes to manage that container. Kubernetes is too complex to document it all here, but a good starting point would be to go through the tutorials in the official [Kubernetes documentation.](https://kubernetes.io/docs/tutorials/) Minikube and K3d are examples of tools that let you play with Kubernetes in a sandbox environment for development and testing purposes. diff --git a/docs/developer/getting-started/development_environment.md b/docs/developer/getting-started/development_environment.md index 786260a72d..97c043055f 100644 --- a/docs/developer/getting-started/development_environment.md +++ b/docs/developer/getting-started/development_environment.md @@ -80,7 +80,7 @@ See the [Running For Development](../../../README.md#running-for-development) se ### Debugging the Dashboard #### SSR vs SPA -It's important to understand the difference between SSR and SPA modes described in the [Server-Side-Rendering (SSR)](../../../README.md#server-side-rendering-ssr) section. When running in the default SSR mode you will not be able to step through some methods such as Vue component's `async fetch`. It is therefore advised to switch to SPA mode before attempting to step through the code (see linked guide.. either start with `--spa` or load page with url parm `?spa` / `&spa`). +It's important to understand the difference between SSR and SPA modes described in the [Server-Side-Rendering (SSR)](../../../README.md#server-side-rendering-ssr) section. When running in the default SSR mode you will not be able to step through some methods such as Vue component's `async fetch`. It is therefore advised to switch to SPA mode before attempting to step through the code (see linked guide.. either start with `--spa` or load page with url param `?spa` / `&spa`). SSR adds additional complexity for the store and some component functions. More on this can be found in the `Resource` section of Development guide. diff --git a/docs/developer/machine-drivers.md b/docs/developer/machine-drivers.md index 3c52e560a4..f4db678403 100644 --- a/docs/developer/machine-drivers.md +++ b/docs/developer/machine-drivers.md @@ -85,4 +85,4 @@ But normally you want to make a request using a Cloud Credential as the authoriz If you have several different API calls to make or expensive information that can be cached after it's retrieved once, consider making a `store` with getters and actions to handle making your API calls and managing the caching. Most of the standard built-in drivers have these. -For more complicated providers (e.g. AWS) you can also consider importing their Javascript SDK and using their client to make calls. But unless there is an extension point to manipulate the request before they send it, you'll probably have to monkey patch their client to get the `X-Api-CattleAuth-Header` injected and the reqeust sent through the proxy instead of direct to them. The SDK should also be dynamically `import('…')`ed as needed at runtime so it's not loaded all the time. Regular `import … as …;` at the top of the file will become part of the basic app bundle js that's always loaded and has to be downloaded before the page can render. `store/aws.js` has examples of all of this. +For more complicated providers (e.g. AWS) you can also consider importing their Javascript SDK and using their client to make calls. But unless there is an extension point to manipulate the request before they send it, you'll probably have to monkey patch their client to get the `X-Api-CattleAuth-Header` injected and the request sent through the proxy instead of direct to them. The SDK should also be dynamically `import('…')`ed as needed at runtime so it's not loaded all the time. Regular `import … as …;` at the top of the file will become part of the basic app bundle js that's always loaded and has to be downloaded before the page can render. `store/aws.js` has examples of all of this. diff --git a/edit/auth/github.vue b/edit/auth/github.vue index d558ab2cfb..fa1248a3aa 100644 --- a/edit/auth/github.vue +++ b/edit/auth/github.vue @@ -185,7 +185,7 @@ export default {
  • {{ t(`authConfig.${NAME}.form.app.label`) }}:
  • {{ t(`authConfig.${NAME}.form.homepage.label`) }}: {{ serverUrl }}
  • {{ t(`authConfig.${NAME}.form.description.label`) }}:
  • -
  • {{ t(`authConfig.${NAME}.form.calllback.label`) }}: {{ serverUrl }}
  • +
  • {{ t(`authConfig.${NAME}.form.callback.label`) }}: {{ serverUrl }}
  • diff --git a/edit/auth/ldap/config.vue b/edit/auth/ldap/config.vue index 7712ce4863..dcb4829c28 100644 --- a/edit/auth/ldap/config.vue +++ b/edit/auth/ldap/config.vue @@ -66,7 +66,7 @@ export default { const expectedCurrentDefault = neu ? DEFAULT_NON_TLS_PORT : DEFAULT_TLS_PORT; const newDefault = neu ? DEFAULT_TLS_PORT : DEFAULT_NON_TLS_PORT; - // Note: The defualt port value is a number + // Note: The default port value is a number // If the user edits this value, the type will be a string // Thus, we will only change the value when the user toggles the TLS flag if they have // NOT edited the port value in any way diff --git a/edit/constraints.gatekeeper.sh.constraint/Scope.vue b/edit/constraints.gatekeeper.sh.constraint/Scope.vue index 1ac0e74fe1..4e5ea52865 100644 --- a/edit/constraints.gatekeeper.sh.constraint/Scope.vue +++ b/edit/constraints.gatekeeper.sh.constraint/Scope.vue @@ -41,7 +41,7 @@ export default {
    - +
    diff --git a/edit/workload/storage/awsElasticBlockStore.vue b/edit/workload/storage/awsElasticBlockStore.vue index effeeea4c7..c4ecf31a97 100644 --- a/edit/workload/storage/awsElasticBlockStore.vue +++ b/edit/workload/storage/awsElasticBlockStore.vue @@ -5,7 +5,7 @@ import { mapGetters } from 'vuex'; export default { components: { LabeledInput }, props: { - // volumeAttribtutes object + // volumeAttributes object value: { type: Object, default: () => { diff --git a/edit/workload/storage/azureDisk.vue b/edit/workload/storage/azureDisk.vue index 2f47498274..2964530cff 100644 --- a/edit/workload/storage/azureDisk.vue +++ b/edit/workload/storage/azureDisk.vue @@ -6,7 +6,7 @@ import { mapGetters } from 'vuex'; export default { components: { LabeledInput, RadioGroup }, props: { - // volumeAttribtutes object + // volumeAttributes object value: { type: Object, default: () => { diff --git a/models/catalog.cattle.io.app.js b/models/catalog.cattle.io.app.js index 8f8abf2047..d82b79104b 100644 --- a/models/catalog.cattle.io.app.js +++ b/models/catalog.cattle.io.app.js @@ -68,7 +68,7 @@ export default class CatalogApp extends SteveModel { // object = version available to upgrade to if ( this.spec?.chart?.metadata?.annotations?.[FLEET.BUNDLE_ID] ) { - // Things managed by fleet shouldn't show ugrade available even if there might be. + // Things managed by fleet shouldn't show upgrade available even if there might be. return false; } diff --git a/models/namespace.js b/models/namespace.js index 53b63f207c..14d2be81bb 100644 --- a/models/namespace.js +++ b/models/namespace.js @@ -11,7 +11,7 @@ import SteveModel from '@/plugins/steve/steve-class'; import Vue from 'vue'; const OBSCURE_NAMESPACE_PREFIX = [ - 'c-', // cluster namesapce + 'c-', // cluster namespace 'p-', // project namespace 'user-', // user namespace 'local', // local namespace diff --git a/models/templates.gatekeeper.sh.constrainttemplate.js b/models/templates.gatekeeper.sh.constrainttemplate.js index ed226c392c..9b9ff4b7c4 100644 --- a/models/templates.gatekeeper.sh.constrainttemplate.js +++ b/models/templates.gatekeeper.sh.constrainttemplate.js @@ -15,7 +15,7 @@ export default class extends SteveModel { const constraints = this.constraints; if ( constraints.length > 0 ) { - return `There are still constaints using this template. You cannot delete this template while it's in use.`; + return `There are still constraints using this template. You cannot delete this template while it's in use.`; } return null; diff --git a/nuxt.config.js b/nuxt.config.js index e5c6e25da4..d11a4f9292 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -170,7 +170,7 @@ module.exports = { } } - // And substitue our own + // And substitute our own config.module.rules.unshift({ test: /\.(png|jpe?g|gif|svg|webp)$/, use: [ diff --git a/pages/c/_cluster/manager/cloudCredential/index.vue b/pages/c/_cluster/manager/cloudCredential/index.vue index 0e364661df..120c61ad73 100644 --- a/pages/c/_cluster/manager/cloudCredential/index.vue +++ b/pages/c/_cluster/manager/cloudCredential/index.vue @@ -12,7 +12,7 @@ export default { async fetch() { if ( this.$store.getters['management/schemaFor'](SECRET) ) { - // Having secrets allows showing the public poirtion of more types but not all users can see them. + // Having secrets allows showing the public portion of more types but not all users can see them. await this.$store.dispatch('management/findAll', { type: SECRET }); } diff --git a/plugins/js-yaml.js b/plugins/js-yaml.js index f8d21d4fe1..15e0a6b85b 100644 --- a/plugins/js-yaml.js +++ b/plugins/js-yaml.js @@ -1,4 +1,4 @@ import jsyaml from 'js-yaml'; -// Codemirrror yaml plugin expects to find it in window/globals. +// CodeMirror yaml plugin expects to find it in window/globals. window.jsyaml = jsyaml; diff --git a/plugins/steve/actions.js b/plugins/steve/actions.js index 2445191a90..f59ff06a48 100644 --- a/plugins/steve/actions.js +++ b/plugins/steve/actions.js @@ -362,10 +362,10 @@ export default { // opt: // filter: Filter by fields, e.g. {field: value, anotherField: anotherValue} (default: none) - // limit: Number of reqords to return per page (default: 1000) + // limit: Number of records to return per page (default: 1000) // sortBy: Sort by field // sortOrder: asc or desc - // url: Use this specific URL instead of looking up the URL for the type/id. This should only be used for bootstraping schemas on startup. + // url: Use this specific URL instead of looking up the URL for the type/id. This should only be used for bootstrapping schemas on startup. // @TODO depaginate: If the response is paginated, retrieve all the pages. (default: true) async find(ctx, { type, id, opt }) { const { getters, dispatch } = ctx; diff --git a/plugins/steve/resource-class.js b/plugins/steve/resource-class.js index 6a9f0207f6..9c74503cec 100644 --- a/plugins/steve/resource-class.js +++ b/plugins/steve/resource-class.js @@ -286,15 +286,15 @@ export default class Resource { get customValidationRules() { return [ /** - * Essentially a fake schema object with additonal params to extend validation + * Essentially a fake schema object with additional params to extend validation * - * @param {nullable} Value is nullabel + * @param {nullable} Value is nullable * @param {path} Path on the resource to the value to validate * @param {required} Value required * @param {requiredIf} Value required if value at path not empty * @param {translationKey} Human readable display key for param in path e.g. metadata.name === Name * @param {type} Type of field to validate - * @param {validators} array of strings where item is name of exported validator function in custom-validtors, args can be passed by prepending args seperated by colon. e.g maxLength:63 + * @param {validators} array of strings where item is name of exported validator function in custom-validators, args can be passed by prepending args separated by colon. e.g maxLength:63 */ /* { nullable: false, diff --git a/plugins/steve/subscribe.js b/plugins/steve/subscribe.js index 39dce742c2..90d7e3ec6a 100644 --- a/plugins/steve/subscribe.js +++ b/plugins/steve/subscribe.js @@ -163,7 +163,7 @@ export const actions = { // Group loads into one loadMulti when possible toLoad.push(body); } else { - // When we hit a differet kind of event, process all the previous loads, then the other event. + // When we hit a different kind of event, process all the previous loads, then the other event. if ( toLoad.length ) { await dispatch('loadMulti', toLoad); toLoad = []; diff --git a/scripts/storybook-install b/scripts/storybook-install index f08634330b..c526bf1189 100755 --- a/scripts/storybook-install +++ b/scripts/storybook-install @@ -1,6 +1,6 @@ #!/usr/bin/env node -// This script will add or remove the extra dependencies require for Storybook to the pacjage.json file +// This script will add or remove the extra dependencies require for Storybook to the package.json file // It will perform a `yarn install` if the package.json file was updated // Storybook adds a bit of weight to the yarn install process, so we only do it if we are using Storybook diff --git a/store/index.js b/store/index.js index 63bc6ec9bb..0a5d5b9413 100644 --- a/store/index.js +++ b/store/index.js @@ -20,7 +20,7 @@ import { NAME as VIRTUAL } from '@/config/product/harvester'; import { BACK_TO } from '@/config/local-storage'; // Disables strict mode for all store instances to prevent warning about changing state outside of mutations -// becaues it's more efficient to do that sometimes. +// because it's more efficient to do that sometimes. export const strict = false; export const BLANK_CLUSTER = '_'; diff --git a/store/plugins.js b/store/plugins.js index 858e7061db..9a95fa3d62 100644 --- a/store/plugins.js +++ b/store/plugins.js @@ -106,7 +106,7 @@ const driverToCloudProviderMap = { harvester: 'harvester', }; -// Dynamically loaded drivers can call this eventually to register thier options +// Dynamically loaded drivers can call this eventually to register their options export function configureCredential(name, opt) { credentialOptions[name] = opt; } diff --git a/store/type-map.js b/store/type-map.js index 4f4a4dc7ec..3280c84860 100644 --- a/store/type-map.js +++ b/store/type-map.js @@ -52,7 +52,7 @@ // spoofedType(obj) Create a fake type that can be treated like a normal type // // basicType( Mark type(s) as always shown in the top of the nav -// type(s), -- Type name or arrry of type names +// type(s), -- Type name or array of type names // group -- Group to show the type(s) under; false-y for top-level. // ) // basicType( Mark all types in group as always shown in the top of the nav @@ -544,7 +544,7 @@ export const getters = { const labelDisplay = highlightLabel(label, icon); if ( !labelDisplay ) { - // Search happens in highlight and retuns null if not found + // Search happens in highlight and returns null if not found continue; } @@ -955,7 +955,7 @@ export const getters = { // Note: you can't refactor these into one function that does `@/${kind}/${type}`, // because babel needs some hardcoded idea where to look for the dependency. // - // Note 2: Yes these are editing state in a gettter for caching... it's ok, probably. + // Note 2: Yes these are editing state in a getter for caching... it's ok, probably. // ------------------------------------ hasCustomList(state, getters) { return (rawType) => { @@ -1366,7 +1366,7 @@ export const mutations = { // setGroupDefaultType({group: 'core', defaultType: 'name'}); // By default when a group is clicked, the first item is selected - this allows - // this behvaiour to be changed and a named child type can be chosen + // this behaviour to be changed and a named child type can be chosen // These operate on group names *after* mapping but *before* translation setGroupDefaultType(state, { group, groups, defaultType }) { if ( !groups ) { @@ -1690,7 +1690,7 @@ export function project(getters) { return project; } - // Convert the project namespaces into a map so we can check existtence easily + // Convert the project namespaces into a map so we can check existence easily const prjNamespaceMap = project.namespaces.reduce((m, ns) => { m[ns.metadata.name] = true; diff --git a/stories/README.md b/stories/README.md index b0037fcb68..8e7f5b2b6c 100644 --- a/stories/README.md +++ b/stories/README.md @@ -7,7 +7,7 @@ If you run any of the targets: - yarn storybook - yarn build-storybook -the dependencies will be added to the `package.json` file and updated automactically. +the dependencies will be added to the `package.json` file and updated automatically. You can manually install them with the target: diff --git a/test/utils/array.js b/test/utils/array.js index 9dffd0a560..e8006cb500 100644 --- a/test/utils/array.js +++ b/test/utils/array.js @@ -145,7 +145,7 @@ test('filterBy', (t) => { t.deepEqual(out, [obj3], 'Finds items with string truthiness'); out = filterBy(ary, 'bar', false); - t.deepEqual(out, [obj2], 'Finds items with falsey values'); + t.deepEqual(out, [obj2], 'Finds items with falsy values'); out = filterBy(ary, 'foo', 'bar'); t.deepEqual(out, [obj1], 'Finds items with string values'); @@ -175,7 +175,7 @@ test('findBy', (t) => { t.is(out, obj3, 'Finds items with string truthiness'); out = findBy(ary, 'bar', false); - t.is(out, obj2, 'Finds items with falsey values'); + t.is(out, obj2, 'Finds items with falsy values'); out = findBy(ary, 'foo', 'bar'); t.is(out, obj1, 'Finds items with string values'); diff --git a/utils/create-yaml.js b/utils/create-yaml.js index a5ed63a6a5..1bd6061c6d 100644 --- a/utils/create-yaml.js +++ b/utils/create-yaml.js @@ -81,7 +81,7 @@ export function createYaml(schemas, type, data, processAlwaysAdd = true, depth = if ( depth === 0 ) { const attr = schema.attributes || {}; - // Default to data.apiVersion/kind to accomadate spoofed types that aggregate multiple types + // Default to data.apiVersion/kind to accommodate spoofed types that aggregate multiple types data.apiVersion = (attr.group ? `${ attr.group }/${ attr.version }` : attr.version) || data.apiVersion; data.kind = attr.kind || data.kind; } diff --git a/utils/monitoring.js b/utils/monitoring.js index 71736a2e2d..2fa2352ca7 100644 --- a/utils/monitoring.js +++ b/utils/monitoring.js @@ -66,7 +66,7 @@ export async function haveV1MonitoringWorkloads(store) { // Other ways we check for monitoring: -// (1) Using counts (requires RBAC permissinons) +// (1) Using counts (requires RBAC permissions) // return !!this.clusterCounts?.[0]?.counts?.[CATALOG.APP]?.namespaces?.['cattle-monitoring-system']; // (2) Retrieving all workloads and looking for containers with a given image diff --git a/utils/validators/vm.js b/utils/validators/vm.js index f824f1ddbb..08672321cd 100644 --- a/utils/validators/vm.js +++ b/utils/validators/vm.js @@ -125,7 +125,7 @@ export function vmDisks(spec, getters, errors, validatorArgs, displayKey, value) const { type, typeValue } = getVolumeType(V, _volumeClaimTemplates); const prefix = V.name || idx + 1; - if (type === SOURCE_TYPE.IMAGE || type === SOURCE_TYPE.ATTACH_VOLUME) { // root iamge + if (type === SOURCE_TYPE.IMAGE || type === SOURCE_TYPE.ATTACH_VOLUME) { // root image // const message = getters['i18n/t']('harvester.validation.vm.volume.needImageOrExisting'); hasImageVolumeOrExistingVolume = true; // errors.push(message);