From c2d238f2525558b16b14b025c43a0c001c1ae0da Mon Sep 17 00:00:00 2001 From: Meer Date: Sun, 2 Aug 2026 17:56:09 +0930 Subject: [PATCH] docs: fix typos and add spellcheck CI Fix spelling/grammar in docs, correct homepage Link key prop, and add cspell workflow for docs and blog. Signed-off-by: Meer --- .cspell/project-words.txt | 380 ++++++ .github/workflows/spellcheck.yml | 45 + cspell.json | 57 + docs/Contribution/communitymembership.md | 2 +- docs/Ecosystem/SparkOnVolcano.md | 2 +- docs/GettingStarted/Tutorials.md | 2 +- docs/KeyFeatures/LoadAwareDescheduling.md | 2 +- docs/KeyFeatures/QueueResourceManagement.md | 18 +- docs/KeyFeatures/UnifiedScheduling.md | 4 +- .../UserGuide/user_guide_how_to_enable_dra.md | 4 +- .../user_guide_how_to_use_nodegroup_plugin.md | 4 +- package-lock.json | 1090 ++++++++++++++++- package.json | 6 +- src/components/why_volcano/index.js | 2 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../KeyFeatures/LoadAwareDescheduling.md | 2 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../KeyFeatures/LoadAwareDescheduling.md | 2 +- .../KeyFeatures/UnifiedScheduling.md | 4 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../KeyFeatures/LoadAwareDescheduling.md | 2 +- .../KeyFeatures/QueueResourceManagement.md | 18 +- .../KeyFeatures/UnifiedScheduling.md | 4 +- .../UserGuide/user_guide_how_to_enable_dra.md | 4 +- .../user_guide_how_to_use_nodegroup_plugin.md | 4 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../KeyFeatures/LoadAwareDescheduling.md | 2 +- .../KeyFeatures/QueueResourceManagement.md | 18 +- .../KeyFeatures/UnifiedScheduling.md | 4 +- .../UserGuide/user_guide_how_to_enable_dra.md | 4 +- .../user_guide_how_to_use_nodegroup_plugin.md | 4 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../KeyFeatures/LoadAwareDescheduling.md | 2 +- .../KeyFeatures/QueueResourceManagement.md | 18 +- .../KeyFeatures/UnifiedScheduling.md | 4 +- .../UserGuide/user_guide_how_to_enable_dra.md | 4 +- .../user_guide_how_to_use_nodegroup_plugin.md | 4 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- .../Contribution/communitymembership.md | 2 +- .../Ecosystem/SparkOnVolcano.md | 2 +- .../GettingStarted/Tutorials.md | 2 +- 58 files changed, 1673 insertions(+), 101 deletions(-) create mode 100644 .cspell/project-words.txt create mode 100644 .github/workflows/spellcheck.yml create mode 100644 cspell.json diff --git a/.cspell/project-words.txt b/.cspell/project-words.txt new file mode 100644 index 00000000..5355553b --- /dev/null +++ b/.cspell/project-words.txt @@ -0,0 +1,380 @@ +# Project-specific dictionary for Volcano website docs spell check. +# Add Volcano/Kubernetes product terms, contributor names, and legitimate domain words here. +# Do NOT add misspellings — fix them in the docs instead. +aadhil +Aakcht +Abirdcfly +acsoto +Adamski +agrawalcodes +aiplatform +Akiqqqqqqq +allreduce +Alluxio +Aman +aniketchawardol +animeshsingh +Aniszczyk +Anquan +archlitchi +babugeet +baddoub +Baichuan +balancedresource +belo +BENCHOU +bibibox +binpack +Binpack +Bioinformatics +Boekestijn +bogo +bood +Caffe +Cambricon +ccchenjiahuan +Cdayz +checkpointing +Checkpointing +chenshiwei +ckyuto +CNAI +cnmcavoy +coldzerofear +colocating +conghuhu +controllermanager +cooldown +Cooldown +corndns +cronvcjob +cronvj +CUDA +dafu +Dataframes +Daxiang +decheduler's +dengaosong +descheduler +descheduler's +Descheduling +descheduling +devzizu +Dianhai +ditingdapeng +dongjiang +dontan +dvpp +ecosysbin +edlctr +elinx +Enqueueable +Feng +fengruotj +feyounger +flink +Flink +flyingfang +Flytek +Freshwlnd +Gautam +GBDT +gengwg +geogrid +googs +GOPATH +goyalankit +goyalpalak +GRIB +Groep +guoqinwill +Haibara +hajnalmt +halegreen +HAMI +hami +Hami +handan +hansong +harshitasao +HCCL +hcclrank +Hcryw +HDFS +hiwangzhihui +Hongcai +Hotspot +hotspot +hotspots +houyuting +HPCC +Huachang +huntersman +hutao +hwdef +hypercluster +hypernode +hypernodes +hzxuzhonghu +iflytek +imagelocality +inqueue +Inqueue +Inspur +iperf +jasondrogba +Jayprakash +jiahuat +jiamin +jian +Jiang +jiangkaihua +Jiawei +jiaxuanzhou +jimoosciuc +Jinghui +Jingtian +jinzhejz +Jobctl +jobflow +jobhelpers +jobmanager +jrbe +jsolbrig +junmao +junzebao +Karmada +Karpenter +katara +kerthcet +kfctl +kingeasternsun +Kingsoft +kiritoxkiriko +kitian +Korcz +korczynski +Krzysztof +kthena +Kthena +Kthena's +Kthena’s +Kuaishou +kubebox +kubecon +Kubeflow +Kubegene +Kueue +Kunpeng +kursataktas +KWOK +leastrequested +leinao +Leinao +lekaf +lengrongfu +lhlxc +linuxfhy +lishangyuzi +liuyuanchun +lixin +lixmgl +loheagn +lowang +lucming +lukasboettcher +madmecodes +mahdikhashan +mahmut +matbme +medicharlachiranjeevi +medyagh +Mehta +Mengxuan +Mesos +mesoscale +metgrid +microyahoo +Mingkun +mnist +MOGU +Monokaix +mostrequested +mpiexec +mpimaster +mpirun +mpiworker +Mufengzhe +murali +mvinchoo +Nationale +Natovsky +ndvpp +Nearline +nearline +neeraj +nitindhiman +Nodegroup +nodegroup +Nodeorder +nodeorder +noderesources +noyoshi +numa +Numa +NUMA +numaaware +Omics +omitempty +Openl +organisation +OSPP +ouyangshengjia +overcommitted +Paco +paddlepaddle +Paddlepaddle +panoswoo +passwordless +Pengcheng +penggu +philandstuff +pierluigilenoci +Pinlan +PLEG +pmady +podgroup +podgroups +podtopologyspread +Postbank +praveen +preemptable +Preemptable +preemptible +Prepmachine +pserver +pservers +qiankunli +Qingya +Qiniu +QIYI +QIYI’s +raravena +rayoluo +Recognise +recognise +renwenlong +roce +ruanwenjun +Ruitian +ruitian +Ruitian's +Rushabh +sailorvii +Sanchit +sceneryback +schedulability +Schuler +shaobo +Shemol +Shiming +Shoothzj +shruti +Shufan +Shuhan +shusley +sivanzcw +Slurm +snappyyouth +ssfffss +Stutler +suleisl +sunarni +suyiiyii +tainttoleration +tanber +taskmanager +tftest +tgaddair +Tinco +tizhou +Tongruizhe +TTFT +tunedev +Tusimple +Tymon +ungrib +Unicom +Unisound +valcano +vcctl +Vcctl +vcjob +vcjobs +VCUDA +vgpu +VGPU +Vipshop +Vipshop's +Virtualizes +virtualizes +vnpu +volcanosh +vzhou +wangjiawei +wangyang +wangyysde +wangzefeng +wentao +Wentao +Wetty +Wingkai +Wonki +worloads +wpeng +wrfbdy +wrfinput +wrfout +Wulixuan +wulixuan +wuyueandrew +Xbao +xiao +xiaoanyunfei +Xiaobo +xiaoxubeii +xieyanke +xieyanker +Ximalaya +Xinyong +xovoxy +yangqz +Yanping +Yashika +yeahdongcn +Yikun +Yingpeng +Yinqing +ykcai +ykcir +ytcisme +Yuni +yunzhi +yuyue +yxxhero +zbbkeepgoing +zedongh +Zhang +Zhao +zhaoqi +Zhaoxu +Zhen +zhengchenyu +zhengyu +zhifanggao +zhifei +Zhipin +Zhipin's +Zhou +zhoumingcheng +zhutong diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml new file mode 100644 index 00000000..b9a67266 --- /dev/null +++ b/.github/workflows/spellcheck.yml @@ -0,0 +1,45 @@ +name: Spell check + +on: + push: + branches: [master] + paths: + - "docs/**" + - "blog/**" + - "README.md" + - "cspell.json" + - ".cspell/**" + - "package.json" + - "package-lock.json" + - ".github/workflows/spellcheck.yml" + pull_request: + branches: [master] + paths: + - "docs/**" + - "blog/**" + - "README.md" + - "cspell.json" + - ".cspell/**" + - "package.json" + - "package-lock.json" + - ".github/workflows/spellcheck.yml" + +jobs: + spellcheck: + name: Check docs spelling + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Run spell check + run: npm run spellcheck diff --git a/cspell.json b/cspell.json new file mode 100644 index 00000000..541f2536 --- /dev/null +++ b/cspell.json @@ -0,0 +1,57 @@ +{ + "version": "0.2", + "language": "en", + "import": [ + "@cspell/dict-en-common-misspellings/cspell-ext.json", + "@cspell/dict-markdown/cspell-ext.json", + "@cspell/dict-k8s/cspell-ext.json" + ], + "dictionaries": [ + "en_us", + "companies", + "softwareTerms", + "typescript", + "node", + "npm", + "html", + "css", + "bash", + "docker", + "k8s", + "project-terms" + ], + "dictionaryDefinitions": [ + { + "name": "project-terms", + "path": "./.cspell/project-words.txt", + "addWords": true + } + ], + "ignorePaths": [ + "node_modules/**", + "package-lock.json", + "build/**", + ".docusaurus/**", + "static/**", + "i18n/**", + "versioned_docs/**", + "versioned_sidebars/**", + "assets/**", + "src/**", + "plugins/**" + ], + "overrides": [ + { + "filename": "**/*.{md,mdx}", + "ignoreRegExpList": [ + "MarkdownLink", + "MarkdownCodeBlocks", + "/`[^`]+`/g", + "/https?:\\/\\/[^\\s)]+/g", + "/<[A-Za-z][^>]*>/g" + ] + } + ], + "allowCompoundWords": false, + "useGitignore": true +} diff --git a/docs/Contribution/communitymembership.md b/docs/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/docs/Contribution/communitymembership.md +++ b/docs/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/docs/Ecosystem/SparkOnVolcano.md b/docs/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/docs/Ecosystem/SparkOnVolcano.md +++ b/docs/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/docs/GettingStarted/Tutorials.md b/docs/GettingStarted/Tutorials.md index aff8171d..f6063941 100644 --- a/docs/GettingStarted/Tutorials.md +++ b/docs/GettingStarted/Tutorials.md @@ -4,7 +4,7 @@ sidebar_position: 2 --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/docs/KeyFeatures/LoadAwareDescheduling.md b/docs/KeyFeatures/LoadAwareDescheduling.md index 5cee4030..670b0c68 100644 --- a/docs/KeyFeatures/LoadAwareDescheduling.md +++ b/docs/KeyFeatures/LoadAwareDescheduling.md @@ -15,7 +15,7 @@ Volcano decheduler's capability is based on https://github.com/kubernetes-sigs/d ### Descheduling via crontab or fixed interval -Users can deploy the `Volcano descheduler` as a Deploment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. +Users can deploy the `Volcano descheduler` as a Deployment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. **cronTab scheduled task**: Specify the parameter `--descheduling-interval-cron-expression='0 0 * * *'`, which means to run descheduling once every morning. diff --git a/docs/KeyFeatures/QueueResourceManagement.md b/docs/KeyFeatures/QueueResourceManagement.md index d7919757..a6746897 100644 --- a/docs/KeyFeatures/QueueResourceManagement.md +++ b/docs/KeyFeatures/QueueResourceManagement.md @@ -14,14 +14,14 @@ sidebar_position: 5 * Supports multi-dimensional resource quota control (CPU, Memory, GPU, NPU, etc.) * Provides three-level resource configuration mechanism: * capability: Upper limit of queue resource usage - * deserverd: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserverd value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserverd value can be reclaimed by other queues) + * deserved: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserved value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserved value can be reclaimed by other queues) * guarantee: Reserved resource amount (reserved resources can only be used by this queue, other queues cannot use them) > Recommendations and Notes: > - > 1. When configuring three-level resources, follow: guarantee ≤ deserverd ≤ capability; - > 2. guarantee/capability can be configured as needed, deserverd value must be configured when capacity plugin is enabled; - > 3. deserverd configuration recommendations: In peer queue scenarios, the sum of deserverd values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserverd values equals the parent queue's deserverd value, but cannot exceed it. + > 1. When configuring three-level resources, follow: guarantee ≤ deserved ≤ capability; + > 2. guarantee/capability can be configured as needed, deserved value must be configured when capacity plugin is enabled; + > 3. deserved configuration recommendations: In peer queue scenarios, the sum of deserved values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserved values equals the parent queue's deserved value, but cannot exceed it. > 4. capability configuration notes: In hierarchical queue scenarios, child queue's capability value cannot exceed parent queue's capability value. If child queue's capability is not set, it will inherit parent queue's capability value. * Supports dynamic resource quota adjustment @@ -82,10 +82,10 @@ spec: The capacity plugin enables quota control through precise resource configuration. Combined with [hierarchical queues](/docs/KeyFeatures/HierarchicalQueue), it can achieve more fine-grained multi-tenant resource allocation and facilitates big data workload migration to Kubernetes clusters. -> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserverd values to adapt to resource changes. +> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserved values to adapt to resource changes. #### proportion plugin -Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserverd values: +Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserved values: ```yaml apiVersion: scheduling.volcano.sh/v1beta1 @@ -99,16 +99,16 @@ spec: memory: "40Gi" ``` -When total cluster resource is `total_resource`, each queue's deserverd value is calculated as: +When total cluster resource is `total_resource`, each queue's deserved value is calculated as: ``` queue_deserved = (queue_weight / total_weight) * total_resource ``` Where `queue_weight` represents current queue's weight, `total_weight` represents sum of all queue weights, `total_resource` represents total cluster resources. -Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserverd value, while proportion plugin automatically calculates queue's deserverd value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserverd value based on weight ratios, requiring no manual intervention. +Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserved value, while proportion plugin automatically calculates queue's deserved value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserved value based on weight ratios, requiring no manual intervention. -> **Important Note**: The actual deserverd value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserverd value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. +> **Important Note**: The actual deserved value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserved value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. > **Note**: > 1. capacity plugin and proportion plugin must be used exclusively, they cannot be used simultaneously diff --git a/docs/KeyFeatures/UnifiedScheduling.md b/docs/KeyFeatures/UnifiedScheduling.md index ded646a2..e0e27ef2 100644 --- a/docs/KeyFeatures/UnifiedScheduling.md +++ b/docs/KeyFeatures/UnifiedScheduling.md @@ -95,7 +95,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ##### 2.1.2.3. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -133,7 +133,7 @@ tiers: ##### 2.1.2.5. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: diff --git a/docs/UserGuide/user_guide_how_to_enable_dra.md b/docs/UserGuide/user_guide_how_to_enable_dra.md index 5dffc1eb..f8fc23e6 100644 --- a/docs/UserGuide/user_guide_how_to_enable_dra.md +++ b/docs/UserGuide/user_guide_how_to_enable_dra.md @@ -34,7 +34,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ## 2. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -82,7 +82,7 @@ tiers: ## 4. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: - [NVIDIA/k8s-dra-driver-gpu](https://github.com/NVIDIA/k8s-dra-driver-gpu) diff --git a/docs/UserGuide/user_guide_how_to_use_nodegroup_plugin.md b/docs/UserGuide/user_guide_how_to_use_nodegroup_plugin.md index 6499f4f5..c0823f47 100644 --- a/docs/UserGuide/user_guide_how_to_use_nodegroup_plugin.md +++ b/docs/UserGuide/user_guide_how_to_use_nodegroup_plugin.md @@ -5,7 +5,7 @@ title: "Nodegroup Plugin User Guide" ## Introduction -**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinty on Queue. +**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinity on Queue. ## Usage @@ -82,7 +82,7 @@ spec: EOF ``` -### validate queue affinity and antiAffinity rules is effected +### Validate that queue affinity and antiAffinity rules take effect Query pod information and verify whether the pod has been scheduled on the correct node. The pod should be scheduled on nodes with label `nodeGroupAffinity.requiredDuringSchedulingIgnoredDuringExecution` or `nodeGroupAffinity.preferredDuringSchedulingIgnoredDuringExecution`. If not, the pod should be scheduled on nodes with label of `nodeGroupAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution`. Specifically, the pod must not be scheduled on nodes with the label `nodeGroupAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution`. diff --git a/package-lock.json b/package-lock.json index 1dc16fa1..c121d2de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,8 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/types": "3.9.2" + "@docusaurus/types": "3.9.2", + "cspell": "^8.19.4" }, "engines": { "node": ">=20.0" @@ -1985,6 +1986,594 @@ "node": ">=0.1.90" } }, + "node_modules/@cspell/cspell-bundled-dicts": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.19.4.tgz", + "integrity": "sha512-2ZRcZP/ncJ5q953o8i+R0fb8+14PDt5UefUNMrFZZHvfTI0jukAASOQeLY+WT6ASZv6CgbPrApAdbppy9FaXYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/dict-ada": "^4.1.0", + "@cspell/dict-al": "^1.1.0", + "@cspell/dict-aws": "^4.0.10", + "@cspell/dict-bash": "^4.2.0", + "@cspell/dict-companies": "^3.1.15", + "@cspell/dict-cpp": "^6.0.8", + "@cspell/dict-cryptocurrencies": "^5.0.4", + "@cspell/dict-csharp": "^4.0.6", + "@cspell/dict-css": "^4.0.17", + "@cspell/dict-dart": "^2.3.0", + "@cspell/dict-data-science": "^2.0.8", + "@cspell/dict-django": "^4.1.4", + "@cspell/dict-docker": "^1.1.13", + "@cspell/dict-dotnet": "^5.0.9", + "@cspell/dict-elixir": "^4.0.7", + "@cspell/dict-en_us": "^4.4.3", + "@cspell/dict-en-common-misspellings": "^2.0.10", + "@cspell/dict-en-gb": "1.1.33", + "@cspell/dict-filetypes": "^3.0.11", + "@cspell/dict-flutter": "^1.1.0", + "@cspell/dict-fonts": "^4.0.4", + "@cspell/dict-fsharp": "^1.1.0", + "@cspell/dict-fullstack": "^3.2.6", + "@cspell/dict-gaming-terms": "^1.1.1", + "@cspell/dict-git": "^3.0.4", + "@cspell/dict-golang": "^6.0.20", + "@cspell/dict-google": "^1.0.8", + "@cspell/dict-haskell": "^4.0.5", + "@cspell/dict-html": "^4.0.11", + "@cspell/dict-html-symbol-entities": "^4.0.3", + "@cspell/dict-java": "^5.0.11", + "@cspell/dict-julia": "^1.1.0", + "@cspell/dict-k8s": "^1.0.10", + "@cspell/dict-kotlin": "^1.1.0", + "@cspell/dict-latex": "^4.0.3", + "@cspell/dict-lorem-ipsum": "^4.0.4", + "@cspell/dict-lua": "^4.0.7", + "@cspell/dict-makefile": "^1.0.4", + "@cspell/dict-markdown": "^2.0.10", + "@cspell/dict-monkeyc": "^1.0.10", + "@cspell/dict-node": "^5.0.7", + "@cspell/dict-npm": "^5.2.1", + "@cspell/dict-php": "^4.0.14", + "@cspell/dict-powershell": "^5.0.14", + "@cspell/dict-public-licenses": "^2.0.13", + "@cspell/dict-python": "^4.2.17", + "@cspell/dict-r": "^2.1.0", + "@cspell/dict-ruby": "^5.0.8", + "@cspell/dict-rust": "^4.0.11", + "@cspell/dict-scala": "^5.0.7", + "@cspell/dict-shell": "^1.1.0", + "@cspell/dict-software-terms": "^5.0.5", + "@cspell/dict-sql": "^2.2.0", + "@cspell/dict-svelte": "^1.0.6", + "@cspell/dict-swift": "^2.0.5", + "@cspell/dict-terraform": "^1.1.1", + "@cspell/dict-typescript": "^3.2.1", + "@cspell/dict-vue": "^3.0.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-json-reporter": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.19.4.tgz", + "integrity": "sha512-pOlUtLUmuDdTIOhDTvWxxta0Wm8RCD/p1V0qUqeP6/Ups1ajBI4FWEpRFd7yMBTUHeGeSNicJX5XeX7wNbAbLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-types": "8.19.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-pipe": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-8.19.4.tgz", + "integrity": "sha512-GNAyk+7ZLEcL2fCMT5KKZprcdsq3L1eYy3e38/tIeXfbZS7Sd1R5FXUe6CHXphVWTItV39TvtLiDwN/2jBts9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-resolver": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-8.19.4.tgz", + "integrity": "sha512-S8vJMYlsx0S1D60glX8H2Jbj4mD8519VjyY8lu3fnhjxfsl2bDFZvF3ZHKsLEhBE+Wh87uLqJDUJQiYmevHjDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-directory": "^4.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-service-bus": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-8.19.4.tgz", + "integrity": "sha512-uhY+v8z5JiUogizXW2Ft/gQf3eWrh5P9036jN2Dm0UiwEopG/PLshHcDjRDUiPdlihvA0RovrF0wDh4ptcrjuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/cspell-types": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-8.19.4.tgz", + "integrity": "sha512-ekMWuNlFiVGfsKhfj4nmc8JCA+1ZltwJgxiKgDuwYtR09ie340RfXFF6YRd2VTW5zN7l4F1PfaAaPklVz6utSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/dict-ada": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-4.1.1.tgz", + "integrity": "sha512-E+0YW9RhZod/9Qy2gxfNZiHJjCYFlCdI69br1eviQQWB8yOTJX0JHXLs79kOYhSW0kINPVUdvddEBe6Lu6CjGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-al": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-al/-/dict-al-1.1.1.tgz", + "integrity": "sha512-sD8GCaZetgQL4+MaJLXqbzWcRjfKVp8x+px3HuCaaiATAAtvjwUQ5/Iubiqwfd1boIh2Y1/3EgM3TLQ7Q8e0wQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-aws": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-4.0.17.tgz", + "integrity": "sha512-ORcblTWcdlGjIbWrgKF+8CNEBQiLVKdUOFoTn0KPNkAYnFcdPP0muT4892h7H4Xafh3j72wqB4/loQ6Nti9E/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-bash": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.2.3.tgz", + "integrity": "sha512-ljUZoKHbDqw5Sx0qpL2qTUlmkmr+vhZH/sCNrNaBZKTbdgiswErSnIF1jRbGmEitJNxHRHWsuZyVgnTGfVO1Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/dict-shell": "1.2.0" + } + }, + "node_modules/@cspell/dict-companies": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.2.12.tgz", + "integrity": "sha512-mjiz/N3zWOCsz5VfwMUydSl7uW0OU9H2PnbCNc3RV44Vj6Q59CSp6EYGSGZQxrXU1gpsuZUrwr6QCjNjFOOg5A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-cpp": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.15.tgz", + "integrity": "sha512-N7MKK3llRNoBncygvrnLaGvmjo4xzVr5FbtAc9+MFGHK6/LeSySBupr1FM72XDaVSIsmBEe7sDYCHHwlI9Jb2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-cryptocurrencies": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-5.0.5.tgz", + "integrity": "sha512-R68hYYF/rtlE6T/dsObStzN5QZw+0aQBinAXuWCVqwdS7YZo0X33vGMfChkHaiCo3Z2+bkegqHlqxZF4TD3rUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-csharp": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-4.0.8.tgz", + "integrity": "sha512-qmk45pKFHSxckl5mSlbHxmDitSsGMlk/XzFgt7emeTJWLNSTUK//MbYAkBNRtfzB4uD7pAFiKgpKgtJrTMRnrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-css": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.1.2.tgz", + "integrity": "sha512-+ylGoKdwZ2sVOCOnU2Eq5wDZx+RaVX3HoKyNHGGsFvhSw6IidQ6tH/mAPKBDofViHJoWCPNlklE0lTr6MDG3QA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-dart": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-2.3.2.tgz", + "integrity": "sha512-sUiLW56t9gfZcu8iR/5EUg+KYyRD83Cjl3yjDEA2ApVuJvK1HhX+vn4e4k4YfjpUQMag8XO2AaRhARE09+/rqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-data-science": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.16.tgz", + "integrity": "sha512-M72mxv5asuAnORurz4iXRJ+Tw9XBq6eu7D2Ne7biP0Z1RciKGNxXWu9JycA/KlVvK1hAlKj/fANlXhuEWpXKFg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-django": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-4.1.6.tgz", + "integrity": "sha512-SdbSFDGy9ulETqNz15oWv2+kpWLlk8DJYd573xhIkeRdcXOjskRuxjSZPKfW7O3NxN/KEf3gm3IevVOiNuFS+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-docker": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/@cspell/dict-docker/-/dict-docker-1.1.17.tgz", + "integrity": "sha512-OcnVTIpHIYYKhztNTyK8ShAnXTfnqs43hVH6p0py0wlcwRIXe5uj4f12n7zPf2CeBI7JAlPjEsV0Rlf4hbz/xQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-dotnet": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-5.0.13.tgz", + "integrity": "sha512-xPp7jMnFpOri7tzmqmm/dXMolXz1t2bhNqxYkOyMqXhvs08oc7BFs+EsbDY0X7hqiISgeFZGNqn0dOCr+ncPYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-elixir": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.8.tgz", + "integrity": "sha512-CyfphrbMyl4Ms55Vzuj+mNmd693HjBFr9hvU+B2YbFEZprE5AG+EXLYTMRWrXbpds4AuZcvN3deM2XVB80BN/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-en_us": { + "version": "4.4.36", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.4.36.tgz", + "integrity": "sha512-2yOhI/+7d1DbfvMljGW4jw8pLqDEsVmnvUXBOCFXtLU2BWgQkrqOJDCNseYjEiEbTp0OtdrWEWWPFSP1TNugQw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-en-common-misspellings": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.1.13.tgz", + "integrity": "sha512-00rpydUxKNWY2xxrSx+h46aNWLvbkJdd57SsnEFt24fbs1fROhXZ6XSQu+gQz/zNuiCvFi4Ro3ej9DLbEdWQmQ==", + "dev": true, + "license": "CC BY-SA 4.0" + }, + "node_modules/@cspell/dict-en-gb": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz", + "integrity": "sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-filetypes": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.18.tgz", + "integrity": "sha512-yU7RKD/x1IWmDLzWeiItMwgV+6bUcU/af23uS0+uGiFUbsY1qWV/D4rxlAAO6Z7no3J2z8aZOkYIOvUrJq0Rcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-flutter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-flutter/-/dict-flutter-1.1.1.tgz", + "integrity": "sha512-UlOzRcH2tNbFhZmHJN48Za/2/MEdRHl2BMkCWZBYs+30b91mWvBfzaN4IJQU7dUZtowKayVIF9FzvLZtZokc5A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-fonts": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-4.0.6.tgz", + "integrity": "sha512-aR/0csY01dNb0A1tw/UmN9rKgHruUxsYsvXu6YlSBJFu60s26SKr/k1o4LavpHTQ+lznlYMqAvuxGkE4Flliqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-fsharp": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-fsharp/-/dict-fsharp-1.1.1.tgz", + "integrity": "sha512-imhs0u87wEA4/cYjgzS0tAyaJpwG7vwtC8UyMFbwpmtw+/bgss+osNfyqhYRyS/ehVCWL17Ewx2UPkexjKyaBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-fullstack": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-3.2.9.tgz", + "integrity": "sha512-diZX+usW5aZ4/b2T0QM/H/Wl9aNMbdODa1Jq0ReBr/jazmNeWjd+PyqeVgzd1joEaHY+SAnjrf/i9CwKd2ZtWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-gaming-terms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.1.2.tgz", + "integrity": "sha512-9XnOvaoTBscq0xuD6KTEIkk9hhdfBkkvJAIsvw3JMcnp1214OCGW8+kako5RqQ2vTZR3Tnf3pc57o7VgkM0q1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-git": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-git/-/dict-git-3.1.0.tgz", + "integrity": "sha512-KEt9zGkxqGy2q1nwH4CbyqTSv5nadpn8BAlDnzlRcnL0Xb3LX9xTgSGShKvzb0bw35lHoYyLWN2ZKAqbC4pgGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-golang": { + "version": "6.0.26", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.26.tgz", + "integrity": "sha512-YKA7Xm5KeOd14v5SQ4ll6afe9VSy3a2DWM7L9uBq4u3lXToRBQ1W5PRa+/Q9udd+DTURyVVnQ+7b9cnOlNxaRg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-google": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-google/-/dict-google-1.0.9.tgz", + "integrity": "sha512-biL65POqialY0i4g6crj7pR6JnBkbsPovB2WDYkj3H4TuC/QXv7Pu5pdPxeUJA6TSCHI7T5twsO4VSVyRxD9CA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-haskell": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-4.0.6.tgz", + "integrity": "sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-html": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.15.tgz", + "integrity": "sha512-GJYnYKoD9fmo2OI0aySEGZOjThnx3upSUvV7mmqUu8oG+mGgzqm82P/f7OqsuvTaInZZwZbo+PwJQd/yHcyFIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-html-symbol-entities": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.5.tgz", + "integrity": "sha512-429alTD4cE0FIwpMucvSN35Ld87HCyuM8mF731KU5Rm4Je2SG6hmVx7nkBsLyrmH3sQukTcr1GaiZsiEg8svPA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-java": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-5.0.12.tgz", + "integrity": "sha512-qPSNhTcl7LGJ5Qp6VN71H8zqvRQK04S08T67knMq9hTA8U7G1sTKzLmBaDOFhq17vNX/+rT+rbRYp+B5Nwza1A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-julia": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-julia/-/dict-julia-1.1.1.tgz", + "integrity": "sha512-WylJR9TQ2cgwd5BWEOfdO3zvDB+L7kYFm0I9u0s9jKHWQ6yKmfKeMjU9oXxTBxIufhCXm92SKwwVNAC7gjv+yA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-k8s": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@cspell/dict-k8s/-/dict-k8s-1.0.13.tgz", + "integrity": "sha512-ELGkS13k7K/NEfVimBSrxVTfqXvOF/Kvxj4I62YxRm8bvHbfoXgrGaOx28lPiNRz+dmu+yYtvuXbnURKtYbC6g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-kotlin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-kotlin/-/dict-kotlin-1.1.1.tgz", + "integrity": "sha512-J3NzzfgmxRvEeOe3qUXnSJQCd38i/dpF9/t3quuWh6gXM+krsAXP75dY1CzDmS8mrJAlBdVBeAW5eAZTD8g86Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-latex": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-4.0.4.tgz", + "integrity": "sha512-YdTQhnTINEEm/LZgTzr9Voz4mzdOXH7YX+bSFs3hnkUHCUUtX/mhKgf1CFvZ0YNM2afjhQcmLaR9bDQVyYBvpA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-lorem-ipsum": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-4.0.5.tgz", + "integrity": "sha512-9a4TJYRcPWPBKkQAJ/whCu4uCAEgv/O2xAaZEI0n4y1/l18Yyx8pBKoIX5QuVXjjmKEkK7hi5SxyIsH7pFEK9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-lua": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-4.0.8.tgz", + "integrity": "sha512-N4PkgNDMu9JVsRu7JBS/3E/dvfItRgk9w5ga2dKq+JupP2Y3lojNaAVFhXISh4Y0a6qXDn2clA6nvnavQ/jjLA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-makefile": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-makefile/-/dict-makefile-1.0.5.tgz", + "integrity": "sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-markdown": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.17.tgz", + "integrity": "sha512-H8bAxih6U8NOnSPL7R8My+tqjaB4tmnJTjERuz4zYqmf+cH+5xshX3UVgKlwWFcyjsYfv/zEDuRdMctQv1q6HQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@cspell/dict-css": "^4.1.2", + "@cspell/dict-html": "^4.0.15", + "@cspell/dict-html-symbol-entities": "^4.0.5", + "@cspell/dict-typescript": "^3.2.3" + } + }, + "node_modules/@cspell/dict-monkeyc": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-monkeyc/-/dict-monkeyc-1.0.12.tgz", + "integrity": "sha512-MN7Vs11TdP5mbdNFQP5x2Ac8zOBm97ARg6zM5Sb53YQt/eMvXOMvrep7+/+8NJXs0jkp70bBzjqU4APcqBFNAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-node": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-5.0.9.tgz", + "integrity": "sha512-hO+ga+uYZ/WA4OtiMEyKt5rDUlUyu3nXMf8KVEeqq2msYvAPdldKBGH7lGONg6R/rPhv53Rb+0Y1SLdoK1+7wQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-npm": { + "version": "5.2.43", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.43.tgz", + "integrity": "sha512-H2gYwtu59dNO9662Uq0usfuhyNd7lZJE1C61a/UXcpRyWWSrTo2Bz+vwGYp1bXZ1LmjXadqvwJ8ArFlGdiadNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-php": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.1.1.tgz", + "integrity": "sha512-EXelI+4AftmdIGtA8HL8kr4WlUE11OqCSVlnIgZekmTkEGSZdYnkFdiJ5IANSALtlQ1mghKjz+OFqVs6yowgWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-powershell": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.15.tgz", + "integrity": "sha512-l4S5PAcvCFcVDMJShrYD0X6Huv9dcsQPlsVsBGbH38wvuN7gS7+GxZFAjTNxDmTY1wrNi1cCatSg6Pu2BW4rgg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-public-licenses": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.16.tgz", + "integrity": "sha512-EQRrPvEOmwhwWezV+W7LjXbIBjiy6y/shrET6Qcpnk3XANTzfvWflf9PnJ5kId/oKWvihFy0za0AV1JHd03pSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-python": { + "version": "4.2.29", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.29.tgz", + "integrity": "sha512-OnEt1a35iuQzc2Ize1qU/43ZyF10urRKAm+mlTz++vnAgDLBHpKfWakpSK50nyL5/1WvyQ8BaMjb52MBLEpTeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/dict-data-science": "^2.0.16" + } + }, + "node_modules/@cspell/dict-r": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-2.1.1.tgz", + "integrity": "sha512-71Ka+yKfG4ZHEMEmDxc6+blFkeTTvgKbKAbwiwQAuKl3zpqs1Y0vUtwW2N4b3LgmSPhV3ODVY0y4m5ofqDuKMw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-ruby": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-5.1.1.tgz", + "integrity": "sha512-LHrp84oEV6q1ZxPPyj4z+FdKyq1XAKYPtmGptrd+uwHbrF/Ns5+fy6gtSi7pS+uc0zk3JdO9w/tPK+8N1/7WUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-rust": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-4.1.2.tgz", + "integrity": "sha512-O1FHrumYcO+HZti3dHfBPUdnDFkI+nbYK3pxYmiM1sr+G0ebOd6qchmswS0Wsc6ZdEVNiPYJY/gZQR6jfW3uOg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-scala": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-5.0.9.tgz", + "integrity": "sha512-AjVcVAELgllybr1zk93CJ5wSUNu/Zb5kIubymR/GAYkMyBdYFCZ3Zbwn4Zz8GJlFFAbazABGOu0JPVbeY59vGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-shell": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-shell/-/dict-shell-1.2.0.tgz", + "integrity": "sha512-PVctvT22lJ49niMiakO8xieY7ELCAzjSqhejWR7bAMb5AZ9F4WDEs+XdGMnoVHWeXq7K5rcepLPmEJb+37zzIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-software-terms": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.2.4.tgz", + "integrity": "sha512-z6y/TGH3QNf5wB4pVvN/P3GfFEW/Whf6QAekNsIn06VKl95dnamfpkPWqV8rEtCixQFaKalb5+y9hRQXH3XQ1g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-sql": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-2.2.1.tgz", + "integrity": "sha512-qDHF8MpAYCf4pWU8NKbnVGzkoxMNrFqBHyG/dgrlic5EQiKANCLELYtGlX5auIMDLmTf1inA0eNtv74tyRJ/vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-svelte": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-svelte/-/dict-svelte-1.0.7.tgz", + "integrity": "sha512-hGZsGqP0WdzKkdpeVLBivRuSNzOTvN036EBmpOwxH+FTY2DuUH7ecW+cSaMwOgmq5JFSdTcbTNFlNC8HN8lhaQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-swift": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-2.0.6.tgz", + "integrity": "sha512-PnpNbrIbex2aqU1kMgwEKvCzgbkHtj3dlFLPMqW1vSniop7YxaDTtvTUO4zA++ugYAEL+UK8vYrBwDPTjjvSnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-terraform": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-terraform/-/dict-terraform-1.1.4.tgz", + "integrity": "sha512-Ere42ilvMFvQA4GlcN0OKlruMPR6EsvaB+iTHzj2xc+NJGRK64V7yApUcWrOrSgTiM/vhWXPIsK3OMfiAiNdmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-typescript": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.2.3.tgz", + "integrity": "sha512-zXh1wYsNljQZfWWdSPYwQhpwiuW0KPW1dSd8idjMRvSD0aSvWWHoWlrMsmZeRl4qM4QCEAjua8+cjflm41cQBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dict-vue": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.5.tgz", + "integrity": "sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspell/dynamic-import": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-8.19.4.tgz", + "integrity": "sha512-0LLghC64+SiwQS20Sa0VfFUBPVia1rNyo0bYeIDoB34AA3qwguDBVJJkthkpmaP1R2JeR/VmxmJowuARc4ZUxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.19.4", + "import-meta-resolve": "^4.1.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@cspell/filetypes": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-8.19.4.tgz", + "integrity": "sha512-D9hOCMyfKtKjjqQJB8F80PWsjCZhVGCGUMiDoQpcta0e+Zl8vHgzwaC0Ai4QUGBhwYEawHGiWUd7Y05u/WXiNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/strong-weak-map": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-8.19.4.tgz", + "integrity": "sha512-MUfFaYD8YqVe32SQaYLI24/bNzaoyhdBIFY5pVrvMo1ZCvMl8AlfI2OcBXvcGb5aS5z7sCNCJm11UuoYbLI1zw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@cspell/url": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@cspell/url/-/url-8.19.4.tgz", + "integrity": "sha512-Pa474iBxS+lxsAL4XkETPGIq3EgMLCEb9agj3hAd2VGMTCApaiUvamR4b+uGXIPybN70piFxvzrfoxsG2uIP6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0" + } + }, "node_modules/@csstools/cascade-layer-name-parser": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz", @@ -7426,6 +8015,13 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "license": "MIT" }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true, + "license": "MIT" + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -7966,6 +8562,35 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk-template": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.2.tgz", + "integrity": "sha512-2bxTP2yUH7AJj/VAXfcA+4IcWGdQ87HwBANLt5XxGTeomo8yG0y95N1um9i5StvhT/Bl0/2cARA5v1PpPXUxUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -8131,6 +8756,46 @@ "node": ">=6" } }, + "node_modules/clear-module": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.3.tgz", + "integrity": "sha512-XdLrg7BnbXKntyrbs2dNjDN9CVoTQ+WV0i7jT5/r9ahzAaSDSzC9e2OVZB/QVwbxBb1/1AeObzjlxsYk5HFvww==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clear-module/node_modules/parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clear-module/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/cli-boxes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", @@ -8275,6 +8940,20 @@ "node": ">= 6" } }, + "node_modules/comment-json": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.6.2.tgz", + "integrity": "sha512-R2rze/hDX30uul4NZoIZ76ImSJLFxn/1/ZxtKC1L77y2X1k+yYu1joKbAtMA2Fg3hZrTOiw0I5mwVMo0cf250w==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-timsort": "^1.0.3", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", @@ -8617,6 +9296,233 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cspell": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-8.19.4.tgz", + "integrity": "sha512-toaLrLj3usWY0Bvdi661zMmpKW2DVLAG3tcwkAv4JBTisdIRn15kN/qZDrhSieUEhVgJgZJDH4UKRiq29mIFxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-json-reporter": "8.19.4", + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "@cspell/dynamic-import": "8.19.4", + "@cspell/url": "8.19.4", + "chalk": "^5.4.1", + "chalk-template": "^1.1.0", + "commander": "^13.1.0", + "cspell-dictionary": "8.19.4", + "cspell-gitignore": "8.19.4", + "cspell-glob": "8.19.4", + "cspell-io": "8.19.4", + "cspell-lib": "8.19.4", + "fast-json-stable-stringify": "^2.1.0", + "file-entry-cache": "^9.1.0", + "semver": "^7.7.1", + "tinyglobby": "^0.2.13" + }, + "bin": { + "cspell": "bin.mjs", + "cspell-esm": "bin.mjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/streetsidesoftware/cspell?sponsor=1" + } + }, + "node_modules/cspell-config-lib": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-8.19.4.tgz", + "integrity": "sha512-LtFNZEWVrnpjiTNgEDsVN05UqhhJ1iA0HnTv4jsascPehlaUYVoyucgNbFeRs6UMaClJnqR0qT9lnPX+KO1OLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-types": "8.19.4", + "comment-json": "^4.2.5", + "yaml": "^2.7.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-dictionary": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-8.19.4.tgz", + "integrity": "sha512-lr8uIm7Wub8ToRXO9f6f7in429P1Egm3I+Ps3ZGfWpwLTCUBnHvJdNF/kQqF7PL0Lw6acXcjVWFYT7l2Wdst2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "cspell-trie-lib": "8.19.4", + "fast-equals": "^5.2.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-gitignore": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-8.19.4.tgz", + "integrity": "sha512-KrViypPilNUHWZkMV0SM8P9EQVIyH8HvUqFscI7+cyzWnlglvzqDdV4N5f+Ax5mK+IqR6rTEX8JZbCwIWWV7og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.19.4", + "cspell-glob": "8.19.4", + "cspell-io": "8.19.4" + }, + "bin": { + "cspell-gitignore": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-glob": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-8.19.4.tgz", + "integrity": "sha512-042uDU+RjAz882w+DXKuYxI2rrgVPfRQDYvIQvUrY1hexH4sHbne78+OMlFjjzOCEAgyjnm1ktWUCCmh08pQUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/url": "8.19.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-glob/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/cspell-grammar": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-8.19.4.tgz", + "integrity": "sha512-lzWgZYTu/L7DNOHjxuKf8H7DCXvraHMKxtFObf8bAzgT+aBmey5fW2LviXUkZ2Lb2R0qQY+TJ5VIGoEjNf55ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4" + }, + "bin": { + "cspell-grammar": "bin.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-io": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-8.19.4.tgz", + "integrity": "sha512-W48egJqZ2saEhPWf5ftyighvm4mztxEOi45ILsKgFikXcWFs0H0/hLwqVFeDurgELSzprr12b6dXsr67dV8amg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-service-bus": "8.19.4", + "@cspell/url": "8.19.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-8.19.4.tgz", + "integrity": "sha512-NwfdCCYtIBNQuZcoMlMmL3HSv2olXNErMi/aOTI9BBAjvCHjhgX5hbHySMZ0NFNynnN+Mlbu5kooJ5asZeB3KA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-bundled-dicts": "8.19.4", + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-resolver": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "@cspell/dynamic-import": "8.19.4", + "@cspell/filetypes": "8.19.4", + "@cspell/strong-weak-map": "8.19.4", + "@cspell/url": "8.19.4", + "clear-module": "^4.1.2", + "comment-json": "^4.2.5", + "cspell-config-lib": "8.19.4", + "cspell-dictionary": "8.19.4", + "cspell-glob": "8.19.4", + "cspell-grammar": "8.19.4", + "cspell-io": "8.19.4", + "cspell-trie-lib": "8.19.4", + "env-paths": "^3.0.0", + "fast-equals": "^5.2.2", + "gensequence": "^7.0.0", + "import-fresh": "^3.3.1", + "resolve-from": "^5.0.0", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-uri": "^3.1.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell-lib/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cspell-trie-lib": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-8.19.4.tgz", + "integrity": "sha512-yIPlmGSP3tT3j8Nmu+7CNpkPh/gBO2ovdnqNmZV+LNtQmVxqFd2fH7XvR1TKjQyctSH1ip0P5uIdJmzY1uhaYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspell/cspell-pipe": "8.19.4", + "@cspell/cspell-types": "8.19.4", + "gensequence": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cspell/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cspell/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/css-blank-pseudo": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", @@ -9510,6 +10416,19 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/error-ex": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", @@ -9977,6 +10896,16 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, + "node_modules/fast-equals": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.4.1.tgz", + "integrity": "sha512-DjlFSM5Pk9cGcL0q5QXl66eGzx0N6szNgaswwc5ZphlBohjTVJSnGgI+rJVOgOi65qUoQnDZN4nDqi33udtydQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -10085,6 +11014,19 @@ "node": ">=0.8.0" } }, + "node_modules/file-entry-cache": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz", + "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", @@ -10240,6 +11182,27 @@ "flat": "cli.js" } }, + "node_modules/flat-cache": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.3.1", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/flatted": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.4.tgz", + "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", + "dev": true, + "license": "ISC" + }, "node_modules/follow-redirects": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", @@ -10345,6 +11308,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensequence": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-7.0.0.tgz", + "integrity": "sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -10449,6 +11422,32 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "license": "BSD-2-Clause" }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-directory/node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", @@ -11230,6 +12229,17 @@ "node": ">=8" } }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -18610,6 +19620,54 @@ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tinypool": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", @@ -19267,6 +20325,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, "node_modules/watchpack": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", @@ -19911,6 +20983,22 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/yocto-queue": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", diff --git a/package.json b/package.json index 0832c12b..cdb4d846 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "clear": "docusaurus clear", "serve": "docusaurus serve", "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids" + "write-heading-ids": "docusaurus write-heading-ids", + "spellcheck": "cspell --no-progress \"docs/**/*.md\" \"blog/**/*.md\" \"README.md\"" }, "dependencies": { "@docusaurus/core": "3.9.2", @@ -29,7 +30,8 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/types": "3.9.2" + "@docusaurus/types": "3.9.2", + "cspell": "^8.19.4" }, "browserslist": { "production": [ diff --git a/src/components/why_volcano/index.js b/src/components/why_volcano/index.js index 55fe5549..87682c1f 100644 --- a/src/components/why_volcano/index.js +++ b/src/components/why_volcano/index.js @@ -121,7 +121,7 @@ export default function Why() { } return ( - +

{item.title}

{item.content}
diff --git a/versioned_docs/version-v1.10.0/Contribution/communitymembership.md b/versioned_docs/version-v1.10.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.10.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.10.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.10.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.10.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.10.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.10.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.10.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.10.0/GettingStarted/Tutorials.md index a338d0a4..efb16e1f 100644 --- a/versioned_docs/version-v1.10.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.10.0/GettingStarted/Tutorials.md @@ -3,7 +3,7 @@ title: "Tutorials" --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.11.0/Contribution/communitymembership.md b/versioned_docs/version-v1.11.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.11.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.11.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.11.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.11.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.11.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.11.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.11.0/KeyFeatures/LoadAwareDescheduling.md b/versioned_docs/version-v1.11.0/KeyFeatures/LoadAwareDescheduling.md index 9ddeed7d..e3c9cd15 100644 --- a/versioned_docs/version-v1.11.0/KeyFeatures/LoadAwareDescheduling.md +++ b/versioned_docs/version-v1.11.0/KeyFeatures/LoadAwareDescheduling.md @@ -14,7 +14,7 @@ Volcano decheduler's capability is based on https://github.com/kubernetes-sigs/d ### Descheduling via crontab or fixed interval -Users can deploy the `Volcano descheduler` as a Deploment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. +Users can deploy the `Volcano descheduler` as a Deployment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. **cronTab scheduled task**: Specify the parameter `--descheduling-interval-cron-expression='0 0 * * *'`, which means to run descheduling once every morning. diff --git a/versioned_docs/version-v1.12.0/Contribution/communitymembership.md b/versioned_docs/version-v1.12.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.12.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.12.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.12.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.12.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.12.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.12.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.12.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.12.0/GettingStarted/Tutorials.md index a338d0a4..efb16e1f 100644 --- a/versioned_docs/version-v1.12.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.12.0/GettingStarted/Tutorials.md @@ -3,7 +3,7 @@ title: "Tutorials" --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.12.0/KeyFeatures/LoadAwareDescheduling.md b/versioned_docs/version-v1.12.0/KeyFeatures/LoadAwareDescheduling.md index 4d3b7b5e..81e16109 100644 --- a/versioned_docs/version-v1.12.0/KeyFeatures/LoadAwareDescheduling.md +++ b/versioned_docs/version-v1.12.0/KeyFeatures/LoadAwareDescheduling.md @@ -14,7 +14,7 @@ Volcano decheduler's capability is based on https://github.com/kubernetes-sigs/d ### Descheduling via crontab or fixed interval -Users can deploy the `Volcano descheduler` as a Deploment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. +Users can deploy the `Volcano descheduler` as a Deployment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. **cronTab scheduled task**: Specify the parameter `--descheduling-interval-cron-expression='0 0 * * *'`, which means to run descheduling once every morning. diff --git a/versioned_docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md b/versioned_docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md index efb585af..4bcc4313 100644 --- a/versioned_docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md +++ b/versioned_docs/version-v1.12.0/KeyFeatures/UnifiedScheduling.md @@ -94,7 +94,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ##### 2.1.2.3. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -132,7 +132,7 @@ tiers: ##### 2.1.2.5. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: diff --git a/versioned_docs/version-v1.13.0/Contribution/communitymembership.md b/versioned_docs/version-v1.13.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.13.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.13.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.13.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.13.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.13.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.13.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.13.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.13.0/GettingStarted/Tutorials.md index aff8171d..f6063941 100644 --- a/versioned_docs/version-v1.13.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.13.0/GettingStarted/Tutorials.md @@ -4,7 +4,7 @@ sidebar_position: 2 --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.13.0/KeyFeatures/LoadAwareDescheduling.md b/versioned_docs/version-v1.13.0/KeyFeatures/LoadAwareDescheduling.md index 5cee4030..670b0c68 100644 --- a/versioned_docs/version-v1.13.0/KeyFeatures/LoadAwareDescheduling.md +++ b/versioned_docs/version-v1.13.0/KeyFeatures/LoadAwareDescheduling.md @@ -15,7 +15,7 @@ Volcano decheduler's capability is based on https://github.com/kubernetes-sigs/d ### Descheduling via crontab or fixed interval -Users can deploy the `Volcano descheduler` as a Deploment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. +Users can deploy the `Volcano descheduler` as a Deployment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. **cronTab scheduled task**: Specify the parameter `--descheduling-interval-cron-expression='0 0 * * *'`, which means to run descheduling once every morning. diff --git a/versioned_docs/version-v1.13.0/KeyFeatures/QueueResourceManagement.md b/versioned_docs/version-v1.13.0/KeyFeatures/QueueResourceManagement.md index 9710bb28..387ce5cd 100644 --- a/versioned_docs/version-v1.13.0/KeyFeatures/QueueResourceManagement.md +++ b/versioned_docs/version-v1.13.0/KeyFeatures/QueueResourceManagement.md @@ -14,14 +14,14 @@ sidebar_position: 5 * Supports multi-dimensional resource quota control (CPU, Memory, GPU, NPU, etc.) * Provides three-level resource configuration mechanism: * capability: Upper limit of queue resource usage - * deserverd: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserverd value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserverd value can be reclaimed by other queues) + * deserved: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserved value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserved value can be reclaimed by other queues) * guarantee: Reserved resource amount (reserved resources can only be used by this queue, other queues cannot use them) > Recommendations and Notes: > - > 1. When configuring three-level resources, follow: guarantee ≤ deserverd ≤ capability; - > 2. guarantee/capability can be configured as needed, deserverd value must be configured when capacity plugin is enabled; - > 3. deserverd configuration recommendations: In peer queue scenarios, the sum of deserverd values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserverd values equals the parent queue's deserverd value, but cannot exceed it. + > 1. When configuring three-level resources, follow: guarantee ≤ deserved ≤ capability; + > 2. guarantee/capability can be configured as needed, deserved value must be configured when capacity plugin is enabled; + > 3. deserved configuration recommendations: In peer queue scenarios, the sum of deserved values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserved values equals the parent queue's deserved value, but cannot exceed it. > 4. capability configuration notes: In hierarchical queue scenarios, child queue's capability value cannot exceed parent queue's capability value. If child queue's capability is not set, it will inherit parent queue's capability value. * Supports dynamic resource quota adjustment @@ -82,10 +82,10 @@ spec: The capacity plugin enables quota control through precise resource configuration. Combined with [hierarchical queues](../KeyFeatures/HierarchicalQueue.md), it can achieve more fine-grained multi-tenant resource allocation and facilitates big data workload migration to Kubernetes clusters. -> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserverd values to adapt to resource changes. +> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserved values to adapt to resource changes. #### proportion plugin -Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserverd values: +Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserved values: ```yaml apiVersion: scheduling.volcano.sh/v1beta1 @@ -99,16 +99,16 @@ spec: memory: "40Gi" ``` -When total cluster resource is `total_resource`, each queue's deserverd value is calculated as: +When total cluster resource is `total_resource`, each queue's deserved value is calculated as: ``` queue_deserved = (queue_weight / total_weight) * total_resource ``` Where `queue_weight` represents current queue's weight, `total_weight` represents sum of all queue weights, `total_resource` represents total cluster resources. -Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserverd value, while proportion plugin automatically calculates queue's deserverd value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserverd value based on weight ratios, requiring no manual intervention. +Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserved value, while proportion plugin automatically calculates queue's deserved value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserved value based on weight ratios, requiring no manual intervention. -> **Important Note**: The actual deserverd value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserverd value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. +> **Important Note**: The actual deserved value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserved value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. > **Note**: > 1. capacity plugin and proportion plugin must be used exclusively, they cannot be used simultaneously diff --git a/versioned_docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md b/versioned_docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md index ded646a2..e0e27ef2 100644 --- a/versioned_docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md +++ b/versioned_docs/version-v1.13.0/KeyFeatures/UnifiedScheduling.md @@ -95,7 +95,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ##### 2.1.2.3. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -133,7 +133,7 @@ tiers: ##### 2.1.2.5. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: diff --git a/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_enable_dra.md b/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_enable_dra.md index a4653846..b8fa43fb 100644 --- a/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_enable_dra.md +++ b/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_enable_dra.md @@ -34,7 +34,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ## 2. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -72,7 +72,7 @@ tiers: ## 4. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: - [NVIDIA/k8s-dra-driver-gpu](https://github.com/NVIDIA/k8s-dra-driver-gpu) diff --git a/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md b/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md index 6499f4f5..c0823f47 100644 --- a/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md +++ b/versioned_docs/version-v1.13.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md @@ -5,7 +5,7 @@ title: "Nodegroup Plugin User Guide" ## Introduction -**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinty on Queue. +**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinity on Queue. ## Usage @@ -82,7 +82,7 @@ spec: EOF ``` -### validate queue affinity and antiAffinity rules is effected +### Validate that queue affinity and antiAffinity rules take effect Query pod information and verify whether the pod has been scheduled on the correct node. The pod should be scheduled on nodes with label `nodeGroupAffinity.requiredDuringSchedulingIgnoredDuringExecution` or `nodeGroupAffinity.preferredDuringSchedulingIgnoredDuringExecution`. If not, the pod should be scheduled on nodes with label of `nodeGroupAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution`. Specifically, the pod must not be scheduled on nodes with the label `nodeGroupAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution`. diff --git a/versioned_docs/version-v1.14.0/Contribution/communitymembership.md b/versioned_docs/version-v1.14.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.14.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.14.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.14.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.14.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.14.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.14.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.14.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.14.0/GettingStarted/Tutorials.md index aff8171d..f6063941 100644 --- a/versioned_docs/version-v1.14.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.14.0/GettingStarted/Tutorials.md @@ -4,7 +4,7 @@ sidebar_position: 2 --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.14.0/KeyFeatures/LoadAwareDescheduling.md b/versioned_docs/version-v1.14.0/KeyFeatures/LoadAwareDescheduling.md index 5cee4030..670b0c68 100644 --- a/versioned_docs/version-v1.14.0/KeyFeatures/LoadAwareDescheduling.md +++ b/versioned_docs/version-v1.14.0/KeyFeatures/LoadAwareDescheduling.md @@ -15,7 +15,7 @@ Volcano decheduler's capability is based on https://github.com/kubernetes-sigs/d ### Descheduling via crontab or fixed interval -Users can deploy the `Volcano descheduler` as a Deploment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. +Users can deploy the `Volcano descheduler` as a Deployment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. **cronTab scheduled task**: Specify the parameter `--descheduling-interval-cron-expression='0 0 * * *'`, which means to run descheduling once every morning. diff --git a/versioned_docs/version-v1.14.0/KeyFeatures/QueueResourceManagement.md b/versioned_docs/version-v1.14.0/KeyFeatures/QueueResourceManagement.md index 9710bb28..387ce5cd 100644 --- a/versioned_docs/version-v1.14.0/KeyFeatures/QueueResourceManagement.md +++ b/versioned_docs/version-v1.14.0/KeyFeatures/QueueResourceManagement.md @@ -14,14 +14,14 @@ sidebar_position: 5 * Supports multi-dimensional resource quota control (CPU, Memory, GPU, NPU, etc.) * Provides three-level resource configuration mechanism: * capability: Upper limit of queue resource usage - * deserverd: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserverd value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserverd value can be reclaimed by other queues) + * deserved: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserved value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserved value can be reclaimed by other queues) * guarantee: Reserved resource amount (reserved resources can only be used by this queue, other queues cannot use them) > Recommendations and Notes: > - > 1. When configuring three-level resources, follow: guarantee ≤ deserverd ≤ capability; - > 2. guarantee/capability can be configured as needed, deserverd value must be configured when capacity plugin is enabled; - > 3. deserverd configuration recommendations: In peer queue scenarios, the sum of deserverd values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserverd values equals the parent queue's deserverd value, but cannot exceed it. + > 1. When configuring three-level resources, follow: guarantee ≤ deserved ≤ capability; + > 2. guarantee/capability can be configured as needed, deserved value must be configured when capacity plugin is enabled; + > 3. deserved configuration recommendations: In peer queue scenarios, the sum of deserved values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserved values equals the parent queue's deserved value, but cannot exceed it. > 4. capability configuration notes: In hierarchical queue scenarios, child queue's capability value cannot exceed parent queue's capability value. If child queue's capability is not set, it will inherit parent queue's capability value. * Supports dynamic resource quota adjustment @@ -82,10 +82,10 @@ spec: The capacity plugin enables quota control through precise resource configuration. Combined with [hierarchical queues](../KeyFeatures/HierarchicalQueue.md), it can achieve more fine-grained multi-tenant resource allocation and facilitates big data workload migration to Kubernetes clusters. -> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserverd values to adapt to resource changes. +> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserved values to adapt to resource changes. #### proportion plugin -Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserverd values: +Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserved values: ```yaml apiVersion: scheduling.volcano.sh/v1beta1 @@ -99,16 +99,16 @@ spec: memory: "40Gi" ``` -When total cluster resource is `total_resource`, each queue's deserverd value is calculated as: +When total cluster resource is `total_resource`, each queue's deserved value is calculated as: ``` queue_deserved = (queue_weight / total_weight) * total_resource ``` Where `queue_weight` represents current queue's weight, `total_weight` represents sum of all queue weights, `total_resource` represents total cluster resources. -Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserverd value, while proportion plugin automatically calculates queue's deserverd value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserverd value based on weight ratios, requiring no manual intervention. +Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserved value, while proportion plugin automatically calculates queue's deserved value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserved value based on weight ratios, requiring no manual intervention. -> **Important Note**: The actual deserverd value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserverd value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. +> **Important Note**: The actual deserved value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserved value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. > **Note**: > 1. capacity plugin and proportion plugin must be used exclusively, they cannot be used simultaneously diff --git a/versioned_docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md b/versioned_docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md index ded646a2..e0e27ef2 100644 --- a/versioned_docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md +++ b/versioned_docs/version-v1.14.0/KeyFeatures/UnifiedScheduling.md @@ -95,7 +95,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ##### 2.1.2.3. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -133,7 +133,7 @@ tiers: ##### 2.1.2.5. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: diff --git a/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_enable_dra.md b/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_enable_dra.md index a4653846..b8fa43fb 100644 --- a/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_enable_dra.md +++ b/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_enable_dra.md @@ -34,7 +34,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ## 2. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -72,7 +72,7 @@ tiers: ## 4. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: - [NVIDIA/k8s-dra-driver-gpu](https://github.com/NVIDIA/k8s-dra-driver-gpu) diff --git a/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md b/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md index 6499f4f5..c0823f47 100644 --- a/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md +++ b/versioned_docs/version-v1.14.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md @@ -5,7 +5,7 @@ title: "Nodegroup Plugin User Guide" ## Introduction -**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinty on Queue. +**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinity on Queue. ## Usage @@ -82,7 +82,7 @@ spec: EOF ``` -### validate queue affinity and antiAffinity rules is effected +### Validate that queue affinity and antiAffinity rules take effect Query pod information and verify whether the pod has been scheduled on the correct node. The pod should be scheduled on nodes with label `nodeGroupAffinity.requiredDuringSchedulingIgnoredDuringExecution` or `nodeGroupAffinity.preferredDuringSchedulingIgnoredDuringExecution`. If not, the pod should be scheduled on nodes with label of `nodeGroupAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution`. Specifically, the pod must not be scheduled on nodes with the label `nodeGroupAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution`. diff --git a/versioned_docs/version-v1.15.0/Contribution/communitymembership.md b/versioned_docs/version-v1.15.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.15.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.15.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.15.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.15.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.15.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.15.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.15.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.15.0/GettingStarted/Tutorials.md index aff8171d..f6063941 100644 --- a/versioned_docs/version-v1.15.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.15.0/GettingStarted/Tutorials.md @@ -4,7 +4,7 @@ sidebar_position: 2 --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.15.0/KeyFeatures/LoadAwareDescheduling.md b/versioned_docs/version-v1.15.0/KeyFeatures/LoadAwareDescheduling.md index 5cee4030..670b0c68 100644 --- a/versioned_docs/version-v1.15.0/KeyFeatures/LoadAwareDescheduling.md +++ b/versioned_docs/version-v1.15.0/KeyFeatures/LoadAwareDescheduling.md @@ -15,7 +15,7 @@ Volcano decheduler's capability is based on https://github.com/kubernetes-sigs/d ### Descheduling via crontab or fixed interval -Users can deploy the `Volcano descheduler` as a Deploment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. +Users can deploy the `Volcano descheduler` as a Deployment type workload instead of a cronJob. Then specify the command line parameters to run the descheduler according to cronTab expression or fixed interval. **cronTab scheduled task**: Specify the parameter `--descheduling-interval-cron-expression='0 0 * * *'`, which means to run descheduling once every morning. diff --git a/versioned_docs/version-v1.15.0/KeyFeatures/QueueResourceManagement.md b/versioned_docs/version-v1.15.0/KeyFeatures/QueueResourceManagement.md index 9710bb28..387ce5cd 100644 --- a/versioned_docs/version-v1.15.0/KeyFeatures/QueueResourceManagement.md +++ b/versioned_docs/version-v1.15.0/KeyFeatures/QueueResourceManagement.md @@ -14,14 +14,14 @@ sidebar_position: 5 * Supports multi-dimensional resource quota control (CPU, Memory, GPU, NPU, etc.) * Provides three-level resource configuration mechanism: * capability: Upper limit of queue resource usage - * deserverd: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserverd value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserverd value can be reclaimed by other queues) + * deserved: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserved value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserved value can be reclaimed by other queues) * guarantee: Reserved resource amount (reserved resources can only be used by this queue, other queues cannot use them) > Recommendations and Notes: > - > 1. When configuring three-level resources, follow: guarantee ≤ deserverd ≤ capability; - > 2. guarantee/capability can be configured as needed, deserverd value must be configured when capacity plugin is enabled; - > 3. deserverd configuration recommendations: In peer queue scenarios, the sum of deserverd values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserverd values equals the parent queue's deserverd value, but cannot exceed it. + > 1. When configuring three-level resources, follow: guarantee ≤ deserved ≤ capability; + > 2. guarantee/capability can be configured as needed, deserved value must be configured when capacity plugin is enabled; + > 3. deserved configuration recommendations: In peer queue scenarios, the sum of deserved values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserved values equals the parent queue's deserved value, but cannot exceed it. > 4. capability configuration notes: In hierarchical queue scenarios, child queue's capability value cannot exceed parent queue's capability value. If child queue's capability is not set, it will inherit parent queue's capability value. * Supports dynamic resource quota adjustment @@ -82,10 +82,10 @@ spec: The capacity plugin enables quota control through precise resource configuration. Combined with [hierarchical queues](../KeyFeatures/HierarchicalQueue.md), it can achieve more fine-grained multi-tenant resource allocation and facilitates big data workload migration to Kubernetes clusters. -> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserverd values to adapt to resource changes. +> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserved values to adapt to resource changes. #### proportion plugin -Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserverd values: +Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserved values: ```yaml apiVersion: scheduling.volcano.sh/v1beta1 @@ -99,16 +99,16 @@ spec: memory: "40Gi" ``` -When total cluster resource is `total_resource`, each queue's deserverd value is calculated as: +When total cluster resource is `total_resource`, each queue's deserved value is calculated as: ``` queue_deserved = (queue_weight / total_weight) * total_resource ``` Where `queue_weight` represents current queue's weight, `total_weight` represents sum of all queue weights, `total_resource` represents total cluster resources. -Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserverd value, while proportion plugin automatically calculates queue's deserverd value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserverd value based on weight ratios, requiring no manual intervention. +Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserved value, while proportion plugin automatically calculates queue's deserved value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserved value based on weight ratios, requiring no manual intervention. -> **Important Note**: The actual deserverd value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserverd value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. +> **Important Note**: The actual deserved value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserved value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization. > **Note**: > 1. capacity plugin and proportion plugin must be used exclusively, they cannot be used simultaneously diff --git a/versioned_docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md b/versioned_docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md index ded646a2..e0e27ef2 100644 --- a/versioned_docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md +++ b/versioned_docs/version-v1.15.0/KeyFeatures/UnifiedScheduling.md @@ -95,7 +95,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ##### 2.1.2.3. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -133,7 +133,7 @@ tiers: ##### 2.1.2.5. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: diff --git a/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_enable_dra.md b/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_enable_dra.md index a4653846..b8fa43fb 100644 --- a/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_enable_dra.md +++ b/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_enable_dra.md @@ -34,7 +34,7 @@ so you need to set the startup parameters of kube-apiserver to manually register ## 2. Install Volcano With DRA feature gates enabled When installing Volcano, you need to enable the DRA related feature gates, e.g., `DynamicResourceAllocation` must be enabled when you need to use DRA, -you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as your need. +you can also choose to enable the `DRAAdminAccess` feature gate to manage devices as needed. When you are using helm to install Volcano, you can use following command to install Volcano with DRA feature gates enabled: ```bash @@ -72,7 +72,7 @@ tiers: ## 4. Deploy a DRA Driver To utilize Dynamic Resource Allocation, you need to deploy a DRA driver in your cluster. The driver is responsible for managing the lifecycle of dynamic resources. -For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy a example DRA driver for testing. +For example, you can refer to the [kubernetes-sigs/dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver) to deploy an example DRA driver for testing. For some DRA Drivers which have already been used in actual production, you can refer to: - [NVIDIA/k8s-dra-driver-gpu](https://github.com/NVIDIA/k8s-dra-driver-gpu) diff --git a/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md b/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md index 6499f4f5..c0823f47 100644 --- a/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md +++ b/versioned_docs/version-v1.15.0/UserGuide/user_guide_how_to_use_nodegroup_plugin.md @@ -5,7 +5,7 @@ title: "Nodegroup Plugin User Guide" ## Introduction -**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinty on Queue. +**Nodegroup plugin** is designed to isolate resources by assigning labels to nodes and set node label affinity on Queue. ## Usage @@ -82,7 +82,7 @@ spec: EOF ``` -### validate queue affinity and antiAffinity rules is effected +### Validate that queue affinity and antiAffinity rules take effect Query pod information and verify whether the pod has been scheduled on the correct node. The pod should be scheduled on nodes with label `nodeGroupAffinity.requiredDuringSchedulingIgnoredDuringExecution` or `nodeGroupAffinity.preferredDuringSchedulingIgnoredDuringExecution`. If not, the pod should be scheduled on nodes with label of `nodeGroupAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution`. Specifically, the pod must not be scheduled on nodes with the label `nodeGroupAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution`. diff --git a/versioned_docs/version-v1.7.0/Contribution/communitymembership.md b/versioned_docs/version-v1.7.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.7.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.7.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.7.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.7.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.7.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.7.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.7.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.7.0/GettingStarted/Tutorials.md index a338d0a4..efb16e1f 100644 --- a/versioned_docs/version-v1.7.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.7.0/GettingStarted/Tutorials.md @@ -3,7 +3,7 @@ title: "Tutorials" --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.8.2/Contribution/communitymembership.md b/versioned_docs/version-v1.8.2/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.8.2/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.8.2/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.8.2/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.8.2/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.8.2/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.8.2/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.8.2/GettingStarted/Tutorials.md b/versioned_docs/version-v1.8.2/GettingStarted/Tutorials.md index a338d0a4..efb16e1f 100644 --- a/versioned_docs/version-v1.8.2/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.8.2/GettingStarted/Tutorials.md @@ -3,7 +3,7 @@ title: "Tutorials" --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided. diff --git a/versioned_docs/version-v1.9.0/Contribution/communitymembership.md b/versioned_docs/version-v1.9.0/Contribution/communitymembership.md index e4518e9c..8545ce51 100644 --- a/versioned_docs/version-v1.9.0/Contribution/communitymembership.md +++ b/versioned_docs/version-v1.9.0/Contribution/communitymembership.md @@ -84,7 +84,7 @@ They can grasp the big picture of the project and features in the project. - Participates in release planning - Maintains project code quality -- Ensures the forward/backword compatibility of APIs based on feature graduation criteria +- Ensures the forward/backward compatibility of APIs based on feature graduation criteria - Analyzes and proposes new features/enhancements in the Volcano project - Demonstrates sound technical judgment - Mentors contributors and approvers diff --git a/versioned_docs/version-v1.9.0/Ecosystem/SparkOnVolcano.md b/versioned_docs/version-v1.9.0/Ecosystem/SparkOnVolcano.md index 7711a6c3..5a7a1c77 100644 --- a/versioned_docs/version-v1.9.0/Ecosystem/SparkOnVolcano.md +++ b/versioned_docs/version-v1.9.0/Ecosystem/SparkOnVolcano.md @@ -7,7 +7,7 @@ sidebar_position: 6 ### Spark introduction -Spark is a fast and versatile big data clustering computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. +Spark is a fast and versatile big data cluster computing system. It provides high-level APIs for Scala, Java, Python, and R, as well as an optimization engine that supports a generic computational graph for data analysis. It also supports a rich set of advanced tools, including Spark SQL for SQL and Dataframes, MLLib for machine learning, GraphX for graphics processing, and Spark Streaming for Streaming. ### Spark on Volcano diff --git a/versioned_docs/version-v1.9.0/GettingStarted/Tutorials.md b/versioned_docs/version-v1.9.0/GettingStarted/Tutorials.md index a338d0a4..efb16e1f 100644 --- a/versioned_docs/version-v1.9.0/GettingStarted/Tutorials.md +++ b/versioned_docs/version-v1.9.0/GettingStarted/Tutorials.md @@ -3,7 +3,7 @@ title: "Tutorials" --- This section provides guidance to help you quickly get started with Volcano, from deploying a basic Volcano Job/Deployment, to integrating with Volcano Queues ## Prerequisites -A Kubernetes cluster with Volcano components need to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). +A Kubernetes cluster with Volcano components needs to be installed successfully. If you haven't installed Volcano yet, please refer to [Installation](../GettingStarted/Installation). ## Quick Start: Deploy a Volcano Job This quick start guide will walk you through deploying a simple Volcano Job. By default, Volcano Jobs use the default queue if no specific queue is provided.