From 645e594f45993e8dc77e7c62fe6e85dab327f37c Mon Sep 17 00:00:00 2001 From: Wilson Radadia Date: Wed, 24 Jul 2024 10:51:33 +0530 Subject: [PATCH 1/8] Rebase with main branch --- .cspell.yml | 8 + .gitignore | 6 +- .nvmrc | 1 + config.yaml | 15 + content/_index.html | 4 +- config.toml => content/config.toml | 7 +- content/docs/applicationmobility/_index.md | 4 +- content/docs/authorization/_index.md | 4 +- content/docs/cosidriver/_index.md | 16 +- content/docs/cosidriver/features/_index.md | 4 +- .../docs/cosidriver/features/objectscale.md | 4 +- content/docs/cosidriver/installation/helm.md | 8 +- content/docs/csidriver/_index.md | 8 +- content/docs/observability/_index.md | 16 +- content/docs/prerequisites/_index.md | 16 +- content/docs/replication/_index.md | 4 +- .../docs/replication/replication-actions.md | 8 +- content/docs/resiliency/_index.md | 16 +- content/docs/secure/encryption/_index.md | 16 +- content/docs/support/cert-csi/qualified.md | 4 +- content/v1/applicationmobility/_index.md | 8 +- content/v1/authorization/_index.md | 16 +- content/v1/cosidriver/_index.md | 16 +- content/v1/cosidriver/features/_index.md | 4 +- content/v1/cosidriver/features/objectscale.md | 4 +- content/v1/cosidriver/installation/helm.md | 8 +- content/v1/csidriver/_index.md | 20 +- .../operator/operator_migration.md | 4 +- content/v1/observability/_index.md | 28 +- content/v1/replication/_index.md | 12 +- content/v1/replication/replication-actions.md | 8 +- content/v1/resiliency/_index.md | 16 +- content/v1/secure/encryption/_index.md | 16 +- content/v2/applicationmobility/_index.md | 8 +- content/v2/authorization/_index.md | 20 +- content/v2/cosidriver/_index.md | 16 +- content/v2/cosidriver/features/_index.md | 4 +- content/v2/cosidriver/features/objectscale.md | 4 +- content/v2/cosidriver/installation/helm.md | 8 +- content/v2/csidriver/_index.md | 16 +- content/v2/observability/_index.md | 28 +- content/v2/replication/_index.md | 12 +- content/v2/replication/replication-actions.md | 8 +- content/v2/resiliency/_index.md | 16 +- content/v2/secure/encryption/_index.md | 16 +- content/v3/applicationmobility/_index.md | 8 +- content/v3/authorization/_index.md | 20 +- content/v3/csidriver/_index.md | 16 +- .../src/static/images/logo.svg | 1 - content/v3/observability/_index.md | 28 +- content/v3/replication/_index.md | 12 +- content/v3/replication/replication-actions.md | 8 +- content/v3/resiliency/_index.md | 16 +- content/v3/secure/encryption/_index.md | 16 +- docsy.work | 5 + docsy.work.sum | 0 go.mod | 5 +- go.sum | 32 +- hugo-disabled.toml | 221 ++ hugo.toml | 211 ++ layouts/404.html | 17 +- layouts/_default/_markup/render-heading.html | 1 + layouts/_default/content.html | 17 - layouts/blog/content.html | 2 +- layouts/docs/list.html | 4 +- layouts/partials/favicons.html | 3 - layouts/partials/feedback.html | 57 - layouts/partials/footer.html | 39 - layouts/partials/head.html | 50 - layouts/partials/navbar.html | 33 - layouts/partials/page-meta-links.html | 26 - layouts/partials/scripts.html | 20 - layouts/partials/toc.html | 8 - layouts/v1/list.html | 4 +- layouts/v2/list.html | 4 +- layouts/v3/list.html | 4 +- netlify.toml | 12 + package-lock.json | 2592 +++++++++++------ package.json | 51 +- static/favicons/favicon-16x16.png | Bin 3099 -> 0 bytes static/favicons/favicon-32x32.png | Bin 3099 -> 0 bytes static/favicons/favicon.ico | Bin 3099 -> 0 bytes 82 files changed, 2588 insertions(+), 1440 deletions(-) create mode 100644 .cspell.yml create mode 100644 .nvmrc create mode 100644 config.yaml rename config.toml => content/config.toml (98%) delete mode 100644 content/v3/deployment/csminstallationwizard/src/static/images/logo.svg create mode 100644 docsy.work create mode 100644 docsy.work.sum create mode 100644 hugo-disabled.toml create mode 100644 hugo.toml create mode 100644 layouts/_default/_markup/render-heading.html delete mode 100644 layouts/_default/content.html delete mode 100644 layouts/partials/favicons.html delete mode 100644 layouts/partials/feedback.html delete mode 100644 layouts/partials/footer.html delete mode 100644 layouts/partials/head.html delete mode 100644 layouts/partials/navbar.html delete mode 100644 layouts/partials/page-meta-links.html delete mode 100644 layouts/partials/scripts.html delete mode 100644 layouts/partials/toc.html create mode 100644 netlify.toml delete mode 100755 static/favicons/favicon-16x16.png delete mode 100755 static/favicons/favicon-32x32.png delete mode 100644 static/favicons/favicon.ico diff --git a/.cspell.yml b/.cspell.yml new file mode 100644 index 0000000000..ae2482dc8e --- /dev/null +++ b/.cspell.yml @@ -0,0 +1,8 @@ +# cSpell:ignore textlintrc +# For settings, see +# https://www.streetsidesoftware.com/vscode-spell-checker/docs/configuration/ +version: '0.2' +caseSensitive: true +words: + - Docsy + - Goldydocs diff --git a/.gitignore b/.gitignore index 3de56ef5f7..2ee362257c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ -node_modules/ -public/ +/public resources/ +node_modules/ .hugo_build.lock coverage/ -reports/ +reports/ \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..b009dfb9d9 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000000..9070e384f0 --- /dev/null +++ b/config.yaml @@ -0,0 +1,15 @@ +# THIS IS A TEST CONFIG ONLY! +# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml. +# +# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used. +# +# The sole purpose of this config file is to detect Hugo-module builds that use +# an older version of Hugo. +# +# DO NOT add any config parameters to this file. You can safely delete this file +# if your project is using the required Hugo version. + +module: + hugoVersion: + extended: true + min: 0.110.0 diff --git a/content/_index.html b/content/_index.html index 6131a5e33e..b25ebcc3fc 100644 --- a/content/_index.html +++ b/content/_index.html @@ -5,8 +5,8 @@ {{< blocks/cover title="Welcome to Dell Technologies Container Storage Modules documentation!" image_anchor="top" height="max" color="primary" >}}
- }}"> - Learn More + + Learn More
{{< /blocks/cover >}} diff --git a/config.toml b/content/config.toml similarity index 98% rename from config.toml rename to content/config.toml index 864d367c7e..97ec6ef8e9 100644 --- a/config.toml +++ b/content/config.toml @@ -16,7 +16,7 @@ defaultContentLanguage = "en" # Useful when translating. enableMissingTranslationPlaceholders = true -disableKinds = ["taxonomy", "taxonomyTerm", "term"] +disableKinds = ["taxonomy", "taxonomy", "term"] # Highlighting config pygmentsCodeFences = true @@ -52,7 +52,7 @@ anchor = "smart" # Language configuration [languages] -[languages.en] +[languages.en.params] title = "Dell Technologies" description = "Dell Technologies (Dell) Container Storage Modules documentation pages" languageName ="English" @@ -204,5 +204,8 @@ enable = false [[module.imports]] path = "github.com/google/docsy/dependencies" disable = false + [[module.mounts]] + source = "assets" + target = "assets" ignoreFiles = ['^content/docs/deployment/csminstallationwizard/src/index\.html$'] diff --git a/content/docs/applicationmobility/_index.md b/content/docs/applicationmobility/_index.md index ea727cc4d1..0098667b87 100644 --- a/content/docs/applicationmobility/_index.md +++ b/content/docs/applicationmobility/_index.md @@ -27,8 +27,8 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers -{{}} + | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/docs/authorization/_index.md b/content/docs/authorization/_index.md index 04dc1f89d4..2976360d31 100644 --- a/content/docs/authorization/_index.md +++ b/content/docs/authorization/_index.md @@ -19,13 +19,13 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities -{{}} + | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). diff --git a/content/docs/cosidriver/_index.md b/content/docs/cosidriver/_index.md index 97c354c9d7..aa62c5174f 100644 --- a/content/docs/cosidriver/_index.md +++ b/content/docs/cosidriver/_index.md @@ -15,41 +15,41 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi > ℹ️ **NOTE:** during technical preview, no certification is performed. The platforms listed below were tested by developers using integration test suite. -{{}} + | | COSI | |------------|:----------:| | Kubernetes | 1.27 | | K3s | 1.27 | -{{
}} +{.table-sm .table-bordered .table-striped} ### COSI Driver Capabilities -{{}} + | Features | ObjectScale | |------------------------|:-----------:| | Bucket Creation | yes | | Bucket Deletion | yes | | Bucket Access Granting | yes | | Bucket Access Revoking | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Backend Storage Details -{{}} + | Protocol | ObjectScale | |------------|:-----------:| | AWS S3 | yes | | GCS | N/A | | Azure Blob | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | Storage Platform | Versions | |------------------|:--------:| | ObjectScale | 1.2.x | -{{
}} +{.table-sm .table-bordered .table-striped} ## Bucket Lifecycle Workflow diff --git a/content/docs/cosidriver/features/_index.md b/content/docs/cosidriver/features/_index.md index 4d1ae6b0af..6b19c1016f 100644 --- a/content/docs/cosidriver/features/_index.md +++ b/content/docs/cosidriver/features/_index.md @@ -7,7 +7,7 @@ description: Description of COSI Driver features ## ObjectScale -{{}} + | Area | Core Features | Implementation level | Status | Details | |:------------------|:-----------------------|:-----------------------:|:---------------:|---------------------------------------------------------------------------------------------| | Provisioning | _Create Bucket_ | Minimum Viable Product | ✅ Done | Bucket is created using default settings. | @@ -17,4 +17,4 @@ description: Description of COSI Driver features | Access Management | _Grant Bucket Access_ | Minimum Viable Product | ✅ Done | Full access is granted for given bucket. | | | | Advanced permissions | 📝 Design draft | More control over permission is done through BucketAccessClass. | | | _Revoke Bucket Access_ | Minimum Viable Product | ✅ Done | Access is revoked. | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/docs/cosidriver/features/objectscale.md b/content/docs/cosidriver/features/objectscale.md index 3c5b985677..3ffc3004c6 100644 --- a/content/docs/cosidriver/features/objectscale.md +++ b/content/docs/cosidriver/features/objectscale.md @@ -168,7 +168,7 @@ spec: Each bucket is provisioned using default options: -{{}} + | Category | Parameter | Description | Default | |-------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | Policy | | | No policy applied on the bucket. | @@ -190,7 +190,7 @@ Each bucket is provisioned using default options: | Event Rules | Prefix | Event rule are applied for object names with the given prefix. | Off | | Event Rules | Suffix | Event rule are applied for object names with the given suffix. | Off | | Event Rules | Send To | The notification destination used to send notification for selected events. | Off | -{{
}} +{.table-sm .table-bordered .table-striped} ### Kubernetes Administrator Steps diff --git a/content/docs/cosidriver/installation/helm.md b/content/docs/cosidriver/installation/helm.md index a53c3cee0c..bd39ae41d9 100644 --- a/content/docs/cosidriver/installation/helm.md +++ b/content/docs/cosidriver/installation/helm.md @@ -14,12 +14,12 @@ The Helm chart installs the following components in a _Deployment_ in the specif Installing any of the CSI Driver components using Helm requires a few utilities to be installed on the system running the installation. -{{}} + | Dependency | Usage | |------------|----------------------------------------------------------------------------------------------------------------------| | `kubectl` | Kubectl is used to validate that the Kubernetes system meets the requirements of the driver. | | `helm` | Helm v3 is used as the deployment tool for Charts. Go [here](https://helm.sh/docs/intro/install/) to install Helm 3. | -{{
}} +{.table-sm .table-bordered .table-striped} > ℹ️ **NOTE:** > To use these tools, a valid `KUBECONFIG` is required. Ensure that either a valid configuration is in the default location, or, that the `KUBECONFIG` environment variable points to a valid configuration before using these tools. @@ -38,7 +38,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities 5. Edit *my-cosi-values.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the COSI driver Helm chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/master/charts/cosi/values.yaml) file in this repository. -{{}} + | Parameter | Description | Required | Default | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|--------------------------------------------------------------------------------| | provisioner.logLevel | The logging level for the COSI driver provisioner. | yes | `4` | @@ -53,7 +53,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities | configuration.create | Specifies whether a secret with driver configuration should be created If set to false, you must set `configuration.secretName` field to an existing configuration secret name. | yes | `true` | | configuration.secretName | Name can be used to specify an existing secret name to use for the driver configuration or override the generated name. | no | `"cosi-config"` | | configuration.data | Data should be provided when installing chart, it will be used to create the Secret with the driver configuration. `configuration.create` must be set to `true` for this to work. | no | `""` | -{{
}} +{.table-sm .table-bordered .table-striped} > ℹ️ **NOTE:** > - Whenever the *configuration.secretName* parameter changes in *my-cosi-values.yaml* user needs to reinstall the driver. diff --git a/content/docs/csidriver/_index.md b/content/docs/csidriver/_index.md index 3cf82bf341..ce250efb61 100644 --- a/content/docs/csidriver/_index.md +++ b/content/docs/csidriver/_index.md @@ -13,7 +13,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ## Features and capabilities ### CSI Driver Capabilities -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.10.1 | 2.10.1 | 2.10.1 | 2.10.1 | 2.10.1 | @@ -33,10 +33,10 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | yes | yes | yes | yes | yes | | Volume Limit | yes | yes | yes | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ### Backend Storage Details -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -49,4 +49,4 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/docs/observability/_index.md b/content/docs/observability/_index.md index d7ff9b4920..9aec9d6d34 100644 --- a/content/docs/observability/_index.md +++ b/content/docs/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each residing in its own GitHub repository, that can be installed following one of the four deployments we support [here](../deployment/helm/modules/installation/observability/). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. -{{}} + | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each residing in its own | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{{
}} +{.table-sm .table-bordered .table-striped} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: -{{}} + | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,12 +41,12 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: -{{}} + | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -60,19 +60,19 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{{
}} +{.table-sm .table-bordered .table-striped} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](../deployment/helm/modules/installation/observability), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. -{{}} + | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{{
}} +{.table-sm .table-bordered .table-striped} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/docs/prerequisites/_index.md b/content/docs/prerequisites/_index.md index 5804616dd4..05a82d80a4 100644 --- a/content/docs/prerequisites/_index.md +++ b/content/docs/prerequisites/_index.md @@ -7,7 +7,7 @@ weight: 1 ## Supported Storage Platforms -{{}} + | Platform | Version | OS Dependencies | |---------------|:-------------------:|:------------------------:| | PowerMax | PowerMax 2500/8500 PowerMaxOS 10 (6079)
PowerMaxOS 10.0.1 (6079)
PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.711, 5978.714.714
5978.479.479
Unisphere 10.0,10.0.1,10.1 | iscsi-initiator-utils
multipathd or powerpath
nvme-cli
nfs-utils | @@ -16,7 +16,7 @@ weight: 1 | PowerScale | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | nfs-utils | | PowerStore | 3.0, 3.2, 3.5, 3.6 | iscsi-initiator-utils
multipathd
nvme-cli
nfs-utils | | ObjectScale | 1.2.x | - | -{{
}} +{.table-sm .table-bordered .table-striped} > Notes: > * The required OS dependencies are only for the protocol needed (e.g. if NVMe isn't the storage access protocol then nvme-cli is not required).. @@ -24,7 +24,7 @@ weight: 1 ## Supported Container Orchestrator Platforms -{{}} + | Platform | Version | |----------------------------|:----------------:| | Kubernetes | 1.27, 1.28, 1.29 | @@ -33,7 +33,7 @@ weight: 1 | Google Anthos | 1.15 | | Rancher Kubernetes Engine | 1.4.x | | VMware Tanzu | 7.0 | -{{
}} +{.table-sm .table-bordered .table-striped} > Notes: > * Any orchestrator platform or version that's not mentioned here must be self-certified using [Cert-CSI](../support/cert-csi/) in order to be supported. Although not mandatory, we recommend users to use orchestrator platforms and versions that have not met their end of life. @@ -53,7 +53,7 @@ Container Storage Modules (CSM) does not officially support specific operating s ## Supported CSM Modules -{{}} + | CSM Module | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |----------------------------------------|:--------:|:---------:|:--------:|:----------:|:----------:| | [CSM Authorization](../authorization/) | Yes | Yes | No | Yes | No | @@ -64,7 +64,7 @@ Container Storage Modules (CSM) does not officially support specific operating s | [CSM Application Mobility](../applicationmobility/) | Yes | Yes | Yes | Yes | Yes | | [Volume Group Snapshot](../snapshots/volume-group-snapshots/) | No | Yes | No | No | Yes | -{{
}} +{.table-sm .table-bordered .table-striped} > Notes: > * Encryption and Application Mobility are available as a Technical Preview only and are not officially supported. @@ -72,7 +72,7 @@ Container Storage Modules (CSM) does not officially support specific operating s ## CSM Operator compatibility matrix The table below lists the driver and modules versions installable with the CSM Operator: -{{}} + | CSI Driver | Version | CSM Authorization | CSM Replication | CSM Observability | CSM Resiliency | | ------------------ |---------|-------------------|-----------------|-------------------|----------------| | CSI PowerScale | 2.10.1 | ✔ 1.10.1 | ✔ 1.8.1 | ✔ 1.8.1 | ✔ 1.9.1 | @@ -90,4 +90,4 @@ The table below lists the driver and modules versions installable with the CSM O | CSI Unity XT | 2.10.1 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.9.0 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.8.0 | ❌ | ❌ | ❌ | ❌ | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/docs/replication/_index.md b/content/docs/replication/_index.md index 4156622663..d3ae12b467 100644 --- a/content/docs/replication/_index.md +++ b/content/docs/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: -{{}} + | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,7 +30,7 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Details diff --git a/content/docs/replication/replication-actions.md b/content/docs/replication/replication-actions.md index a04244c53c..c21e44708d 100644 --- a/content/docs/replication/replication-actions.md +++ b/content/docs/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: -{{}} + | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{{
}} +{.table-sm .table-bordered .table-striped} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: -{{}} + | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{{
}} +{.table-sm .table-bordered .table-striped} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/docs/resiliency/_index.md b/content/docs/resiliency/_index.md index 78fa586121..49316dfd78 100644 --- a/content/docs/resiliency/_index.md +++ b/content/docs/resiliency/_index.md @@ -28,42 +28,42 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: -{{}} + | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5, 3.6 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerFlex Support diff --git a/content/docs/secure/encryption/_index.md b/content/docs/secure/encryption/_index.md index 9a75bacee6..a9d249f955 100644 --- a/content/docs/secure/encryption/_index.md +++ b/content/docs/secure/encryption/_index.md @@ -41,7 +41,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities -{{}} + | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -52,7 +52,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Limitations @@ -70,29 +70,29 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.3, 9.4, 9.5.0.5, 9.5.0.6 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.8 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerScale diff --git a/content/docs/support/cert-csi/qualified.md b/content/docs/support/cert-csi/qualified.md index 48b50e526d..d4d15845f7 100644 --- a/content/docs/support/cert-csi/qualified.md +++ b/content/docs/support/cert-csi/qualified.md @@ -4,11 +4,11 @@ linktitle: Community Qualified Configurations description: Community Qualified Configurations --- -{{}} + | cert-csi results | OS | CO | Storage Platform | Protocol | CSM | |--------------------------------------------------------|:----------:|:----------------:|:-----------------------:|:---------:|:----------:| | [Ticket 1079](https://github.com/dell/csm/issues/1079) | Debian 10 | K3s v1.24.7+k3s1 | Unity VSA 5.3.1.0.5.008 | iSCSI | CSI v2.8.0 | | [Ticket 1177](https://github.com/dell/csm/issues/1177) | Ubuntu OS 22.04 | Amazon EKS (K8s 1.29) | PowerFlex | SCINI | CSI v2.9.2 | | [Ticket 1361](https://github.com/dell/csm/issues/1361) | RHCOS 4.12 | OpenShift 4.12 | PowerStore | iSCSI| CSI v2.8.0 | | [Ticket 1362](https://github.com/dell/csm/issues/1362) | RHCOS 4.12 | OpenShift 4.12 | PowerScale | NFS | CSI v2.8.0 | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v1/applicationmobility/_index.md b/content/v1/applicationmobility/_index.md index e49eb68d40..5394af222d 100644 --- a/content/v1/applicationmobility/_index.md +++ b/content/v1/applicationmobility/_index.md @@ -23,16 +23,16 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers -{{}} + | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27. 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v1/authorization/_index.md b/content/v1/authorization/_index.md index 4f9c019f3b..5f0a405ccd 100644 --- a/content/v1/authorization/_index.md +++ b/content/v1/authorization/_index.md @@ -19,41 +19,41 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities -{{}} + | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerMax | PowerFlex | PowerScale | |---------------|:----------------:|:-------------------:|:----------------:| | Storage Array |PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx,
Unisphere 10.0, 10.0.1, 10.1| 3.6.x, 4.0.x, 4.5 | OneFS 9.5.0.x (x >= 5) | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Authorization supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. diff --git a/content/v1/cosidriver/_index.md b/content/v1/cosidriver/_index.md index 97c354c9d7..aa62c5174f 100644 --- a/content/v1/cosidriver/_index.md +++ b/content/v1/cosidriver/_index.md @@ -15,41 +15,41 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi > ℹ️ **NOTE:** during technical preview, no certification is performed. The platforms listed below were tested by developers using integration test suite. -{{}} + | | COSI | |------------|:----------:| | Kubernetes | 1.27 | | K3s | 1.27 | -{{
}} +{.table-sm .table-bordered .table-striped} ### COSI Driver Capabilities -{{}} + | Features | ObjectScale | |------------------------|:-----------:| | Bucket Creation | yes | | Bucket Deletion | yes | | Bucket Access Granting | yes | | Bucket Access Revoking | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Backend Storage Details -{{}} + | Protocol | ObjectScale | |------------|:-----------:| | AWS S3 | yes | | GCS | N/A | | Azure Blob | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | Storage Platform | Versions | |------------------|:--------:| | ObjectScale | 1.2.x | -{{
}} +{.table-sm .table-bordered .table-striped} ## Bucket Lifecycle Workflow diff --git a/content/v1/cosidriver/features/_index.md b/content/v1/cosidriver/features/_index.md index 4d1ae6b0af..6b19c1016f 100644 --- a/content/v1/cosidriver/features/_index.md +++ b/content/v1/cosidriver/features/_index.md @@ -7,7 +7,7 @@ description: Description of COSI Driver features ## ObjectScale -{{}} + | Area | Core Features | Implementation level | Status | Details | |:------------------|:-----------------------|:-----------------------:|:---------------:|---------------------------------------------------------------------------------------------| | Provisioning | _Create Bucket_ | Minimum Viable Product | ✅ Done | Bucket is created using default settings. | @@ -17,4 +17,4 @@ description: Description of COSI Driver features | Access Management | _Grant Bucket Access_ | Minimum Viable Product | ✅ Done | Full access is granted for given bucket. | | | | Advanced permissions | 📝 Design draft | More control over permission is done through BucketAccessClass. | | | _Revoke Bucket Access_ | Minimum Viable Product | ✅ Done | Access is revoked. | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v1/cosidriver/features/objectscale.md b/content/v1/cosidriver/features/objectscale.md index 3c5b985677..3ffc3004c6 100644 --- a/content/v1/cosidriver/features/objectscale.md +++ b/content/v1/cosidriver/features/objectscale.md @@ -168,7 +168,7 @@ spec: Each bucket is provisioned using default options: -{{}} + | Category | Parameter | Description | Default | |-------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | Policy | | | No policy applied on the bucket. | @@ -190,7 +190,7 @@ Each bucket is provisioned using default options: | Event Rules | Prefix | Event rule are applied for object names with the given prefix. | Off | | Event Rules | Suffix | Event rule are applied for object names with the given suffix. | Off | | Event Rules | Send To | The notification destination used to send notification for selected events. | Off | -{{
}} +{.table-sm .table-bordered .table-striped} ### Kubernetes Administrator Steps diff --git a/content/v1/cosidriver/installation/helm.md b/content/v1/cosidriver/installation/helm.md index a53c3cee0c..bd39ae41d9 100644 --- a/content/v1/cosidriver/installation/helm.md +++ b/content/v1/cosidriver/installation/helm.md @@ -14,12 +14,12 @@ The Helm chart installs the following components in a _Deployment_ in the specif Installing any of the CSI Driver components using Helm requires a few utilities to be installed on the system running the installation. -{{}} + | Dependency | Usage | |------------|----------------------------------------------------------------------------------------------------------------------| | `kubectl` | Kubectl is used to validate that the Kubernetes system meets the requirements of the driver. | | `helm` | Helm v3 is used as the deployment tool for Charts. Go [here](https://helm.sh/docs/intro/install/) to install Helm 3. | -{{
}} +{.table-sm .table-bordered .table-striped} > ℹ️ **NOTE:** > To use these tools, a valid `KUBECONFIG` is required. Ensure that either a valid configuration is in the default location, or, that the `KUBECONFIG` environment variable points to a valid configuration before using these tools. @@ -38,7 +38,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities 5. Edit *my-cosi-values.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the COSI driver Helm chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/master/charts/cosi/values.yaml) file in this repository. -{{}} + | Parameter | Description | Required | Default | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|--------------------------------------------------------------------------------| | provisioner.logLevel | The logging level for the COSI driver provisioner. | yes | `4` | @@ -53,7 +53,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities | configuration.create | Specifies whether a secret with driver configuration should be created If set to false, you must set `configuration.secretName` field to an existing configuration secret name. | yes | `true` | | configuration.secretName | Name can be used to specify an existing secret name to use for the driver configuration or override the generated name. | no | `"cosi-config"` | | configuration.data | Data should be provided when installing chart, it will be used to create the Secret with the driver configuration. `configuration.create` must be set to `true` for this to work. | no | `""` | -{{
}} +{.table-sm .table-bordered .table-striped} > ℹ️ **NOTE:** > - Whenever the *configuration.secretName* parameter changes in *my-cosi-values.yaml* user needs to reinstall the driver. diff --git a/content/v1/csidriver/_index.md b/content/v1/csidriver/_index.md index 160c0c8a02..ee94a51359 100644 --- a/content/v1/csidriver/_index.md +++ b/content/v1/csidriver/_index.md @@ -14,7 +14,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ### Supported Container Orchestrator Platforms -{{}} + | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:| | Kubernetes | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | @@ -25,14 +25,14 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Rancher Kubernetes Engine | 1.4.x| 1.4.x | 1.4.x | 1.4.x | 1.4.x | | Amazon Elastic Kubernetes Service
Anywhere | yes | yes | yes | yes | yes | | OS dependencies | iscsi-initiator-utils
multipathd or powerpath
nvme-cli
nfs-utils | [SDC](https://www.dell.com/support/home/en-us/product-support/product/scaleio/drivers) | iscsi-initiator-utils
multipathd
nfs-utils | nfs-utils | iscsi-initiator-utils
multipathd
nvme-cli
nfs-utils | -{{
}} +{.table-sm .table-bordered .table-striped} > Notes: > * The required OS dependencies are only for the protocol needed (e.g. if NVMe isn't the storage access protocol then nvme-cli is not required). > * The host operating system/version being used must align with what each Dell Storage platform supports. Please visit [E-Lab Navigator](https://elabnavigator.dell.com/eln/modernHomeSSM) for specific Dell Storage platform host operating system level support matrices. ### CSI Driver Capabilities -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.9.1 | 2.9.2 | 2.9.1 | 2.9.1 | 2.9.1 | @@ -52,16 +52,16 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | yes | yes | yes | yes | yes | | Volume Limit | yes | yes | yes | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ### Supported Storage Platforms -{{}} + | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:-------------------------------------------------------:|:----------------:|:--------------------------:|:----------------------------------:|:----------------:| | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1,10.1 | 3.6.x, 4.0.x, 4.5.x | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5 | -{{
}} +{.table-sm .table-bordered .table-striped} ### Backend Storage Details -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -74,12 +74,12 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} ### Community Qualified Platforms -{{}} + | cert-csi results | OS | CO | Storage Platform | Protocol | CSM | |--------------------------------------------------------|:----------:|:----------------:|:-----------------------:|:---------:|:----------:| | [Ticket 1079](https://github.com/dell/csm/issues/1079) | Debian 10 | K3s v1.24.7+k3s1 | Unity VSA 5.3.1.0.5.008 | iSCSI | CSI v1.8.0 | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v1/csidriver/installation/operator/operator_migration.md b/content/v1/csidriver/installation/operator/operator_migration.md index 2e8732c34a..8b0965ee99 100644 --- a/content/v1/csidriver/installation/operator/operator_migration.md +++ b/content/v1/csidriver/installation/operator/operator_migration.md @@ -6,7 +6,7 @@ description: > ## CR Sample Files -{{}} + | | CSI Operator | CSM Operator | |------------|:----------:|:----------:| | PowerScale | [isilon_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/isilon_v270_k8s_127.yaml) | [storage_csm_powerscale_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerscale_v290.yaml) | @@ -14,7 +14,7 @@ description: > | PowerStore | [powerstore_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/powerstore_v270_k8s_127.yaml) | [storage_csm_powerstore_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerstore_v290.yaml) | | Unity XT | [unity_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/unity_v270_k8s_127.yaml) | [storage_csm_unity_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_unity_v290.yaml) | | PowerFlex | [vxflex_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/vxflex_v270_k8s_127.yaml) | [storage_csm_powerflex_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerflex_v290.yaml) | -{{
}} +{.table-sm .table-bordered .table-striped} >NOTE: Sample files refer to the latest version for each platform. If you do not want to upgrade, please find your preferred version in the [csm-operator repository](https://github.com/dell/csm-operator/blob/main/samples). ## Migration Steps diff --git a/content/v1/observability/_index.md b/content/v1/observability/_index.md index 2eb49c6898..54c526167e 100644 --- a/content/v1/observability/_index.md +++ b/content/v1/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each residing in its own GitHub repository, that can be installed following one of the four deployments we support [here](deployment). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. -{{}} + | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each residing in its own | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{{
}} +{.table-sm .table-bordered .table-striped} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: -{{}} + | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,42 +41,42 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | | Rancher Kubernetes Engine | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | PowerStore | PowerScale | PowerMax | |---------------|:-------------------:|:----------------:|:----------------:|:----------------:| | Storage Array | 3.6.x, 4.0.x, 4.5 | 3.0, 3.2, 3.5 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | PowerMax 2000/8000
PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0, 10.0.1, 10.1 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Observability supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.5 + | -{{
}} +{.table-sm .table-bordered .table-striped} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: -{{}} + | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -90,19 +90,19 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{{
}} +{.table-sm .table-bordered .table-striped} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](./deployment), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. -{{}} + | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{{
}} +{.table-sm .table-bordered .table-striped} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/v1/replication/_index.md b/content/v1/replication/_index.md index a0ff4dd4e6..ae89251f47 100644 --- a/content/v1/replication/_index.md +++ b/content/v1/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: -{{}} + | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,24 +30,24 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | PowerMax | PowerStore | PowerScale | PowerFlex | | ----------------- | ---------------- | ---------------- | ---------------- | ---------------- | | Kubernetes | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | 4.13, 4.14 | 4.13, 4.14 | 4.13, 4.14 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------- | :------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :-------: | | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1,10.1 | 3.0, 3.2, 3.5 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.6.x, 4.0.x, 4.5 | -{{
}} +{.table-sm .table-bordered .table-striped} >Note: File Replication for PowerMax is currently not supported diff --git a/content/v1/replication/replication-actions.md b/content/v1/replication/replication-actions.md index a04244c53c..c21e44708d 100644 --- a/content/v1/replication/replication-actions.md +++ b/content/v1/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: -{{}} + | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{{
}} +{.table-sm .table-bordered .table-striped} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: -{{}} + | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{{
}} +{.table-sm .table-bordered .table-striped} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/v1/resiliency/_index.md b/content/v1/resiliency/_index.md index 52711c75c6..4aa8953904 100644 --- a/content/v1/resiliency/_index.md +++ b/content/v1/resiliency/_index.md @@ -28,42 +28,42 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: -{{}} + | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerFlex Support diff --git a/content/v1/secure/encryption/_index.md b/content/v1/secure/encryption/_index.md index 08b70aec88..8d0c27c1b8 100644 --- a/content/v1/secure/encryption/_index.md +++ b/content/v1/secure/encryption/_index.md @@ -39,7 +39,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities -{{}} + | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -50,7 +50,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Limitations @@ -68,29 +68,29 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.3, 9.4, 9.5.0.5, 9.5.0.6 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.8 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerScale diff --git a/content/v2/applicationmobility/_index.md b/content/v2/applicationmobility/_index.md index 0590ed214a..c5efead306 100644 --- a/content/v2/applicationmobility/_index.md +++ b/content/v2/applicationmobility/_index.md @@ -23,18 +23,18 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers -{{}} + | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.23, 1.24, 1.25, 1.26 | | Red Hat OpenShift | 4.10, 4.11 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v2/authorization/_index.md b/content/v2/authorization/_index.md index f11031b38e..6b75fc7134 100644 --- a/content/v2/authorization/_index.md +++ b/content/v2/authorization/_index.md @@ -19,43 +19,43 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities -{{}} + | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerMax | PowerFlex | PowerScale | |---------------|:----------------:|:-------------------:|:----------------:| | Storage Array |PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx,
Unisphere 10.0, 10.0.1| 3.5.x, 3.6.x | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Authorization supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. @@ -63,7 +63,7 @@ To resolve this, please refer to our [troubleshooting guide](./troubleshooting) ## Authorization Components Support Matrix CSM for Authorization consists of 2 components - the Authorization sidecar and the Authorization proxy server. It is important that the version of the Authorization sidecar image maps to a supported version of the Authorization proxy server. -{{}} + | Authorization Sidecar Image Tag | Authorization Proxy Server Version | | ------------------------------- | ---------------------------------- | | dellemc/csm-authorization-sidecar:v1.0.0 | v1.0.0, v1.1.0 | @@ -75,7 +75,7 @@ CSM for Authorization consists of 2 components - the Authorization sidecar and t | dellemc/csm-authorization-sidecar:v1.6.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0 | | dellemc/csm-authorization-sidecar:v1.7.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0, v1.7.0 | | dellemc/csm-authorization-sidecar:v1.8.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0, v1.7.0, v1.8.0 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Roles and Responsibilities The CSM for Authorization CLI can be executed in the context of the following roles: diff --git a/content/v2/cosidriver/_index.md b/content/v2/cosidriver/_index.md index 97c354c9d7..aa62c5174f 100644 --- a/content/v2/cosidriver/_index.md +++ b/content/v2/cosidriver/_index.md @@ -15,41 +15,41 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi > ℹ️ **NOTE:** during technical preview, no certification is performed. The platforms listed below were tested by developers using integration test suite. -{{}} + | | COSI | |------------|:----------:| | Kubernetes | 1.27 | | K3s | 1.27 | -{{
}} +{.table-sm .table-bordered .table-striped} ### COSI Driver Capabilities -{{}} + | Features | ObjectScale | |------------------------|:-----------:| | Bucket Creation | yes | | Bucket Deletion | yes | | Bucket Access Granting | yes | | Bucket Access Revoking | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Backend Storage Details -{{}} + | Protocol | ObjectScale | |------------|:-----------:| | AWS S3 | yes | | GCS | N/A | | Azure Blob | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | Storage Platform | Versions | |------------------|:--------:| | ObjectScale | 1.2.x | -{{
}} +{.table-sm .table-bordered .table-striped} ## Bucket Lifecycle Workflow diff --git a/content/v2/cosidriver/features/_index.md b/content/v2/cosidriver/features/_index.md index 4d1ae6b0af..6b19c1016f 100644 --- a/content/v2/cosidriver/features/_index.md +++ b/content/v2/cosidriver/features/_index.md @@ -7,7 +7,7 @@ description: Description of COSI Driver features ## ObjectScale -{{}} + | Area | Core Features | Implementation level | Status | Details | |:------------------|:-----------------------|:-----------------------:|:---------------:|---------------------------------------------------------------------------------------------| | Provisioning | _Create Bucket_ | Minimum Viable Product | ✅ Done | Bucket is created using default settings. | @@ -17,4 +17,4 @@ description: Description of COSI Driver features | Access Management | _Grant Bucket Access_ | Minimum Viable Product | ✅ Done | Full access is granted for given bucket. | | | | Advanced permissions | 📝 Design draft | More control over permission is done through BucketAccessClass. | | | _Revoke Bucket Access_ | Minimum Viable Product | ✅ Done | Access is revoked. | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v2/cosidriver/features/objectscale.md b/content/v2/cosidriver/features/objectscale.md index 8fbaf5fd33..8f9f3226cb 100644 --- a/content/v2/cosidriver/features/objectscale.md +++ b/content/v2/cosidriver/features/objectscale.md @@ -173,7 +173,7 @@ spec: Each bucket is provisioned using default options: -{{}} + | Category | Parameter | Description | Default | |-------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | Policy | | | No policy applied on the bucket. | @@ -195,7 +195,7 @@ Each bucket is provisioned using default options: | Event Rules | Prefix | Event rule are applied for object names with the given prefix. | Off | | Event Rules | Suffix | Event rule are applied for object names with the given suffix. | Off | | Event Rules | Send To | The notification destination used to send notification for selected events. | Off | -{{
}} +{.table-sm .table-bordered .table-striped} ### Kubernetes Administrator Steps diff --git a/content/v2/cosidriver/installation/helm.md b/content/v2/cosidriver/installation/helm.md index 13c0f1486d..69415dd77f 100644 --- a/content/v2/cosidriver/installation/helm.md +++ b/content/v2/cosidriver/installation/helm.md @@ -18,12 +18,12 @@ The Helm chart installs the following components in a _Deployment_ in the specif Installing any of the CSI Driver components using Helm requires a few utilities to be installed on the system running the installation. -{{}} + | Dependency | Usage | |------------|----------------------------------------------------------------------------------------------------------------------| | `kubectl` | Kubectl is used to validate that the Kubernetes system meets the requirements of the driver. | | `helm` | Helm v3 is used as the deployment tool for Charts. Go [here](https://helm.sh/docs/intro/install/) to install Helm 3. | -{{
}} +{.table-sm .table-bordered .table-striped} > ℹ️ **NOTE:** > To use these tools, a valid `KUBECONFIG` is required. Ensure that either a valid configuration is in the default location, or, that the `KUBECONFIG` environment variable points to a valid configuration before using these tools. @@ -42,7 +42,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities 5. Edit *my-cosi-values.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the COSI driver Helm chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/master/charts/cosi/values.yaml) file in this repository. -{{}} + | Parameter | Description | Required | Default | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|--------------------------------------------------------------------------------| | provisioner.logLevel | The logging level for the COSI driver provisioner. | yes | `4` | @@ -57,7 +57,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities | configuration.create | Specifies whether a secret with driver configuration should be created If set to false, you must set `configuration.secretName` field to an existing configuration secret name. | yes | `true` | | configuration.secretName | Name can be used to specify an existing secret name to use for the driver configuration or override the generated name. | no | `"cosi-config"` | | configuration.data | Data should be provided when installing chart, it will be used to create the Secret with the driver configuration. `configuration.create` must be set to `true` for this to work. | no | `""` | -{{
}} +{.table-sm .table-bordered .table-striped} > ℹ️ **NOTE:** > - Whenever the *configuration.secretName* parameter changes in *my-cosi-values.yaml* user needs to reinstall the driver. diff --git a/content/v2/csidriver/_index.md b/content/v2/csidriver/_index.md index bdcce5bc69..6966086b29 100644 --- a/content/v2/csidriver/_index.md +++ b/content/v2/csidriver/_index.md @@ -14,7 +14,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ### Supported Operating Systems/Container Orchestrator Platforms -{{}} + | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:| | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -29,10 +29,10 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Rancher Kubernetes Engine | 1.4.1| 1.4.7 | 1.4.8 | 1.4.7 | 1.4.5 | | Amazon Elastic Kubernetes Service
Anywhere | yes | yes | yes | yes | yes | | Kubernetes K3s Engine on Debian OS | no | no | 1.26, 1.27 | no | no | -{{
}} +{.table-sm .table-bordered .table-striped} ### CSI Driver Capabilities -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | @@ -52,20 +52,20 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | yes | yes | yes | yes | yes | | Volume Limit | yes | yes | yes | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ### Supported Storage Platforms -{{}} + | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:-------------------------------------------------------:|:----------------:|:--------------------------:|:----------------------------------:|:----------------:| | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 3.5.x, 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5.0.5, 9.5.0.6 | 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | -{{
}} +{.table-sm .table-bordered .table-striped} >Note: To connect to a PowerFlex 4.5 array, the SDC image will need to be changed to dellemc/sdc:4.5. >- If using helm to install, you will need to make this change in your values.yaml file. See [helm install documentation](https://dell.github.io/csm-docs/docs/deployment/helm/drivers/installation/powerflex/) for details. >- If using CSM-Operator to install, you will need to make this change in your samples file. See [operator install documentation](https://dell.github.io/csm-docs/docs/deployment/csmoperator/drivers/powerflex/) for details. ### Backend Storage Details -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -78,4 +78,4 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v2/observability/_index.md b/content/v2/observability/_index.md index 9ec7f191ba..46d2c21122 100644 --- a/content/v2/observability/_index.md +++ b/content/v2/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each residing in its own GitHub repository, that can be installed following one of the four deployments we support [here](deployment). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. -{{}} + | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each residing in its own | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{{
}} +{.table-sm .table-bordered .table-striped} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: -{{}} + | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,11 +41,11 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | @@ -53,32 +53,32 @@ CSM for Observability provides the following capabilities: | Rancher Kubernetes Engine | yes | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | PowerStore | PowerScale | PowerMax | |---------------|:-------------------:|:----------------:|:----------------:|:----------------:| | Storage Array | 3.5.x, 3.6.x, 4.0 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5 | PowerMax 2000/8000
PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0, 10.0.1 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Observability supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.5 + | -{{
}} +{.table-sm .table-bordered .table-striped} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: -{{}} + | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -92,19 +92,19 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{{
}} +{.table-sm .table-bordered .table-striped} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](./deployment), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. -{{}} + | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{{
}} +{.table-sm .table-bordered .table-striped} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/v2/replication/_index.md b/content/v2/replication/_index.md index e42b46366e..497ee5fc57 100644 --- a/content/v2/replication/_index.md +++ b/content/v2/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: -{{}} + | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,11 +30,11 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | PowerMax | PowerStore | PowerScale | PowerFlex | | ----------------- | ---------------- | ---------------- | ---------------- | ---------------- | | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -43,15 +43,15 @@ CSM for Replication provides the following capabilities: | CentOS | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | | Ubuntu | 20.04 | 20.04 | 20.04 | 20.04 | | SLES | 15SP4 | 15SP2 | 15SP2 | 15SP3 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------- | :------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :-------: | | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 1.0.x,
2.0.x, 2.1.x,
3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5 | 3.6.x, 4.0| -{{
}} +{.table-sm .table-bordered .table-striped} >Note: File Replication for PowerMax is currently not supported diff --git a/content/v2/replication/replication-actions.md b/content/v2/replication/replication-actions.md index a04244c53c..c21e44708d 100644 --- a/content/v2/replication/replication-actions.md +++ b/content/v2/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: -{{}} + | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{{
}} +{.table-sm .table-bordered .table-striped} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: -{{}} + | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{{
}} +{.table-sm .table-bordered .table-striped} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/v2/resiliency/_index.md b/content/v2/resiliency/_index.md index 4ad6bb981f..2acfacc3fa 100644 --- a/content/v2/resiliency/_index.md +++ b/content/v2/resiliency/_index.md @@ -28,44 +28,44 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: -{{}} + | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.25, 1.26, 1.27 | | Red Hat OpenShift | 4.11, 4.12, 4.13 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.5.x, 3.6.x | 5.0.5, 5.0.6, 5.0.7, 5.1.0, 5.1.2, 5.2, 5.3 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerFlex Support diff --git a/content/v2/secure/encryption/_index.md b/content/v2/secure/encryption/_index.md index 10c87f0ef2..7056547a65 100644 --- a/content/v2/secure/encryption/_index.md +++ b/content/v2/secure/encryption/_index.md @@ -36,7 +36,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities -{{}} + | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -47,7 +47,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Limitations @@ -65,7 +65,7 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.24, 1.25, 1.26 | @@ -73,24 +73,24 @@ the CSI driver must be restarted to pick up the change. | RHEL | 7.9, 8.4 | | Ubuntu | 18.04, 20.04 | | SLES | 15SP2 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.0 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.4 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerScale diff --git a/content/v3/applicationmobility/_index.md b/content/v3/applicationmobility/_index.md index 0590ed214a..c5efead306 100644 --- a/content/v3/applicationmobility/_index.md +++ b/content/v3/applicationmobility/_index.md @@ -23,18 +23,18 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers -{{}} + | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.23, 1.24, 1.25, 1.26 | | Red Hat OpenShift | 4.10, 4.11 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v3/authorization/_index.md b/content/v3/authorization/_index.md index 6efb28f95f..c7aff34bb1 100644 --- a/content/v3/authorization/_index.md +++ b/content/v3/authorization/_index.md @@ -19,43 +19,43 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities -{{}} + | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerMax | PowerFlex | PowerScale | |---------------|:----------------:|:-------------------:|:----------------:| | Storage Array |PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx,
Unisphere 10.0, 10.0.1| 3.5.x, 3.6.x | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Authorization supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} **NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. @@ -63,7 +63,7 @@ To resolve this, please refer to our [troubleshooting guide](./troubleshooting) ## Authorization Components Support Matrix CSM for Authorization consists of 2 components - the Authorization sidecar and the Authorization proxy server. It is important that the version of the Authorization sidecar image maps to a supported version of the Authorization proxy server. -{{}} + | Authorization Sidecar Image Tag | Authorization Proxy Server Version | | ------------------------------- | ---------------------------------- | | dellemc/csm-authorization-sidecar:v1.0.0 | v1.0.0, v1.1.0 | @@ -74,7 +74,7 @@ CSM for Authorization consists of 2 components - the Authorization sidecar and t | dellemc/csm-authorization-sidecar:v1.5.1 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1 | | dellemc/csm-authorization-sidecar:v1.6.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0 | | dellemc/csm-authorization-sidecar:v1.7.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0, v1.7.0 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Roles and Responsibilities The CSM for Authorization CLI can be executed in the context of the following roles: diff --git a/content/v3/csidriver/_index.md b/content/v3/csidriver/_index.md index 9989f6363e..9b0286ae66 100644 --- a/content/v3/csidriver/_index.md +++ b/content/v3/csidriver/_index.md @@ -13,7 +13,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ## Features and capabilities ### Supported Operating Systems/Container Orchestrator Platforms -{{}} + | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:| | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -28,10 +28,10 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Rancher Kubernetes Engine | 1.4.1 | 1.4.1 | 1.4.5 | 1.4.1 | 1.4.5 | | Amazon Elastic Kubernetes Service
Anywhere | yes | yes | yes | yes | yes | | Kubernetes K3s Engine on Debian OS | no | no | 1.25, 1.26, 1.27 | no | no | -{{
}} +{.table-sm .table-bordered .table-striped} ### CSI Driver Capabilities -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.7.0 | 2.7.1 | 2.7.0 | 2.7.0 | 2.7.0 | @@ -49,15 +49,15 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Multi-array | yes | yes | yes | yes | yes | | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | no | no | no | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ### Supported Storage Platforms -{{}} + | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:-------------------------------------------------------:|:----------------:|:--------------------------:|:----------------------------------:|:----------------:| | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 3.5.x, 3.6.x, 4.0 | 5.1.x, 5.2.x, 5.3.0 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | -{{
}} +{.table-sm .table-bordered .table-striped} ### Backend Storage Details -{{}} + | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -70,4 +70,4 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{{
}} +{.table-sm .table-bordered .table-striped} diff --git a/content/v3/deployment/csminstallationwizard/src/static/images/logo.svg b/content/v3/deployment/csminstallationwizard/src/static/images/logo.svg deleted file mode 100644 index 7918fba9fa..0000000000 --- a/content/v3/deployment/csminstallationwizard/src/static/images/logo.svg +++ /dev/null @@ -1 +0,0 @@ -DellTech_Logo_Prm_Wht_rgb \ No newline at end of file diff --git a/content/v3/observability/_index.md b/content/v3/observability/_index.md index e2bf91d8ca..c1bbfa19cf 100644 --- a/content/v3/observability/_index.md +++ b/content/v3/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each living in its own GitHub repository, that can be installed following one of the four deployments we support [here](deployment). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. -{{}} + | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each living in its own Gi | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{{
}} +{.table-sm .table-bordered .table-striped} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: -{{}} + | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,11 +41,11 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | @@ -53,32 +53,32 @@ CSM for Observability provides the following capabilities: | Rancher Kubernetes Engine | yes | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | PowerStore | PowerScale | PowerMax | |---------------|:-------------------:|:----------------:|:----------------:|:----------------:| | Storage Array | 3.5.x, 3.6.x, 4.0 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | PowerMax 2000/8000
PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0, 10.0.1 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Observability supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.5 + | -{{
}} +{.table-sm .table-bordered .table-striped} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: -{{}} + | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -92,18 +92,18 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{{
}} +{.table-sm .table-bordered .table-striped} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](./deployment), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. -{{}} + | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{{
}} +{.table-sm .table-bordered .table-striped} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/v3/replication/_index.md b/content/v3/replication/_index.md index b6debeaa27..d2f1c7f1db 100644 --- a/content/v3/replication/_index.md +++ b/content/v3/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: -{{}} + | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,12 +30,12 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | PowerMax | PowerStore | PowerScale | PowerFlex | | ----------------- | ---------------- | ---------------- | ---------------- | ---------------- | | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -44,15 +44,15 @@ CSM for Replication provides the following capabilities: | CentOS | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | | Ubuntu | 20.04 | 20.04 | 20.04 | 20.04 | | SLES | 15SP4 | 15SP2 | 15SP2 | 15SP3 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------- | :------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :-------: | | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 1.0.x,
2.0.x, 2.1.x,
3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 3.6.x, 4.0| -{{
}} +{.table-sm .table-bordered .table-striped} ## Details diff --git a/content/v3/replication/replication-actions.md b/content/v3/replication/replication-actions.md index a04244c53c..c21e44708d 100644 --- a/content/v3/replication/replication-actions.md +++ b/content/v3/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: -{{}} + | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{{
}} +{.table-sm .table-bordered .table-striped} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: -{{}} + | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{{
}} +{.table-sm .table-bordered .table-striped} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/v3/resiliency/_index.md b/content/v3/resiliency/_index.md index 6f248ab1eb..e7f3671ee2 100644 --- a/content/v3/resiliency/_index.md +++ b/content/v3/resiliency/_index.md @@ -28,44 +28,44 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: -{{}} + | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.25, 1.26, 1.27 | | Red Hat OpenShift | 4.11, 4.12 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.5.x, 3.6.x | 5.0.5, 5.0.6, 5.0.7, 5.1.0, 5.1.2, 5.2, 5.3 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. -{{}} + | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerFlex Support diff --git a/content/v3/secure/encryption/_index.md b/content/v3/secure/encryption/_index.md index 10c87f0ef2..7056547a65 100644 --- a/content/v3/secure/encryption/_index.md +++ b/content/v3/secure/encryption/_index.md @@ -36,7 +36,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities -{{}} + | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -47,7 +47,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{{
}} +{.table-sm .table-bordered .table-striped} ## Limitations @@ -65,7 +65,7 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms -{{}} + | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.24, 1.25, 1.26 | @@ -73,24 +73,24 @@ the CSI driver must be restarted to pick up the change. | RHEL | 7.9, 8.4 | | Ubuntu | 18.04, 20.04 | | SLES | 15SP2 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported Storage Platforms -{{}} + | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.0 | -{{
}} +{.table-sm .table-bordered .table-striped} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: -{{}} + | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.4 + | -{{
}} +{.table-sm .table-bordered .table-striped} ### PowerScale diff --git a/docsy.work b/docsy.work new file mode 100644 index 0000000000..074dc2a129 --- /dev/null +++ b/docsy.work @@ -0,0 +1,5 @@ +go 1.19 + +use . +use ../docsy/ // Local docsy clone resides in sibling folder to this project +// use ./themes/docsy/ // Local docsy clone resides in themes folder diff --git a/docsy.work.sum b/docsy.work.sum new file mode 100644 index 0000000000..e69de29bb2 diff --git a/go.mod b/go.mod index 177303a13e..40cb2f2a3e 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/google/docsy-example go 1.12 require ( - github.com/FortAwesome/Font-Awesome v0.0.0-20210804190922-7d3d774145ac // indirect - github.com/google/docsy v0.4.1-0.20220725215923-c09d2feff8b2 // indirect - github.com/twbs/bootstrap v4.6.1+incompatible // indirect + github.com/google/docsy v0.10.1-0.20240529105443-333c2f8d4172 // indirect - v0.10.0-12-g333c2f8 + github.com/google/docsy/dependencies v0.7.2 // indirect ) diff --git a/go.sum b/go.sum index 610ed4772e..11cf3a6e9c 100644 --- a/go.sum +++ b/go.sum @@ -1,18 +1,14 @@ -github.com/FortAwesome/Font-Awesome v0.0.0-20210804190922-7d3d774145ac h1:AjwgwoaDsNEA1Wtc8pgw/BqG7SEk9bKxXPjEPQQ42vY= -github.com/FortAwesome/Font-Awesome v0.0.0-20210804190922-7d3d774145ac/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/google/docsy v0.2.0-pre.0.20220404161753-f7b37a0aca2a h1:bnufXLbTD8QCLbqygy/kmYxUK1JINSlHU5rLQYTcFMQ= -github.com/google/docsy v0.2.0-pre.0.20220404161753-f7b37a0aca2a/go.mod h1:yuKLZHMX5CKiLUH55+ePFJaYnoSwUVVffNareaOGQYo= -github.com/google/docsy v0.2.0 h1:DN6wfyyp2rXsjdV1K3wioxOBTRvG6Gg48wLPDso2lc4= -github.com/google/docsy v0.2.0/go.mod h1:shlabwAQakGX6qpXU6Iv/b/SilpHRd7d+xqtZQd3v+8= -github.com/google/docsy v0.4.0 h1:Eyt2aiDC1fnw/Qq/9xnIqUU5n5Yyk4c8gX3nBDdTv/4= -github.com/google/docsy v0.4.0/go.mod h1:vJjGkHNaw9bO42gpFTWwAUzHZWZEVlK46Kx7ikY5c7Y= -github.com/google/docsy v0.4.1-0.20220720164819-c65715725ee9 h1:XO+X/xxhd66juziB8RvFAkGh36QvC5yX77myqWWe7/M= -github.com/google/docsy v0.4.1-0.20220720164819-c65715725ee9/go.mod h1:vJjGkHNaw9bO42gpFTWwAUzHZWZEVlK46Kx7ikY5c7Y= -github.com/google/docsy v0.4.1-0.20220725215923-c09d2feff8b2 h1:s12aPmQtqIVUoRZwVBTuyCp46caANLcXW2ll6DaPkus= -github.com/google/docsy v0.4.1-0.20220725215923-c09d2feff8b2/go.mod h1:vJjGkHNaw9bO42gpFTWwAUzHZWZEVlK46Kx7ikY5c7Y= -github.com/google/docsy/dependencies v0.2.0-pre.0.20220404161753-f7b37a0aca2a h1:fy6IqUmWGMdQngRa7+CP1cRkTseQK7OEsqx6r7dNuSA= -github.com/google/docsy/dependencies v0.2.0-pre.0.20220404161753-f7b37a0aca2a/go.mod h1:oPdn05sNt61uT6K+LqNRhYq1jeqrsbbQMDXkPdPscmA= -github.com/google/docsy/dependencies v0.2.0/go.mod h1:2zZxHF+2qvkyXhLZtsbnqMotxMukJXLaf8fAZER48oo= -github.com/google/docsy/dependencies v0.4.0/go.mod h1:2zZxHF+2qvkyXhLZtsbnqMotxMukJXLaf8fAZER48oo= -github.com/twbs/bootstrap v4.6.1+incompatible h1:75PsBfPU1SS65ag0Z3Cq6JNXVAfUNfB0oCLHh9k9Fu8= -github.com/twbs/bootstrap v4.6.1+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.10.0 h1:6tMDacPwAyRWNCfvsn/9qGOZDQ8b0aRzjRZvnZPY5dg= +github.com/google/docsy v0.10.0/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/google/docsy v0.10.1-0.20240516225026-36746913371a h1:Fmx4SmmyWZf4q3rq9jhVWr6/h2MKEi4+61irjQO2ylI= +github.com/google/docsy v0.10.1-0.20240516225026-36746913371a/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/google/docsy v0.10.1-0.20240528200232-6549143cf323 h1:T4UiGpcrIgiuyQj0tc7BtJwv6u736J8Jnl4QZno0fk4= +github.com/google/docsy v0.10.1-0.20240528200232-6549143cf323/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/google/docsy v0.10.1-0.20240529105443-333c2f8d4172 h1:1gAAuOfHRok/hJqfF+wpjOYqlH0d76dwUsskLEnOzxo= +github.com/google/docsy v0.10.1-0.20240529105443-333c2f8d4172/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/google/docsy/dependencies v0.7.2 h1:+t5ufoADQAj4XneFphz4A+UU0ICAxmNaRHVWtMYXPSI= +github.com/google/docsy/dependencies v0.7.2/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/hugo-disabled.toml b/hugo-disabled.toml new file mode 100644 index 0000000000..12b2be8930 --- /dev/null +++ b/hugo-disabled.toml @@ -0,0 +1,221 @@ +baseURL = "https://example.docsy.dev/" +title = "Goldydocs" + +# Language settings +contentDir = "content/en" +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = false +# Useful when translating. +enableMissingTranslationPlaceholders = true + +enableRobotsTXT = true + +# Will give values to .Lastmod etc. +enableGitInfo = true + +# Comment out to enable taxonomies in Docsy +# disableKinds = ["taxonomy", "taxonomyTerm"] + +# You can add your own taxonomies +[taxonomies] +tag = "tags" +category = "categories" + +[params.taxonomy] +# set taxonomyCloud = [] to hide taxonomy clouds +taxonomyCloud = ["tags", "categories"] + +# If used, must have same length as taxonomyCloud +taxonomyCloudTitle = ["Tag Cloud", "Categories"] + +# set taxonomyPageHeader = [] to hide taxonomies on the page headers +taxonomyPageHeader = ["tags", "categories"] + +# Highlighting config +pygmentsCodeFences = true +pygmentsUseClasses = false +# Use the new Chroma Go highlighter in Hugo. +pygmentsUseClassic = false +#pygmentsOptions = "linenos=table" +# See https://help.farbox.com/pygments.html +pygmentsStyle = "tango" + +# Configure how URLs look like per section. +[permalinks] +blog = "/:section/:year/:month/:day/:slug/" + +# Image processing configuration. +[imaging] +resampleFilter = "CatmullRom" +quality = 75 +anchor = "smart" + +# Language configuration + +[languages] +[languages.en] +languageName ="English" +title = "Goldydocs" +[languages.en.params] +description = "A Docsy example site" + +[languages.no] +languageName ="Norsk" +contentDir = "content/no" +title = "Gulldoks" +[languages.no.params] +description = "Docsy er operativsystem for skyen" +time_format_default = "02.01.2006" +time_format_blog = "02.01.2006" + +[languages.fa] +languageDirection = "rtl" +languageName ="فارسی" +contentDir = "content/fa" +title = "اسناد گلدی" +[languages.fa.params] +description = "یک نمونه برای پوسته داکسی" +time_format_default = "2006.01.02" +time_format_blog = "2006.01.02" + +[markup] + [markup.goldmark] + [markup.goldmark.parser.attribute] + block = true + [markup.goldmark.renderer] + unsafe = true + [markup.highlight] + # See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html + style = "tango" + # Uncomment if you want your chosen highlight style used for code blocks without a specified language + # guessSyntax = "true" + +# Comment out if you don't want the "print entire section" link enabled. +[outputs] +section = ["HTML", "print", "RSS"] + +# Everything below this are Site Params + +[params] +privacy_policy = "https://policies.google.com/privacy" + +# First one is picked as the Twitter card image if not set on page. +# images = ["images/project-illustration.png"] + +# Menu title if your navbar has a versions selector to access old versions of your site. +# This menu appears only if you have at least one [params.versions] set. +version_menu = "Releases" + +# Flag used in the "version-banner" partial to decide whether to display a +# banner on every page indicating that this is an archived version of the docs. +# Set this flag to "true" if you want to display the banner. +archived_version = false + +# The version number for the version of the docs represented in this doc set. +# Used in the "version-banner" partial to display a version number for the +# current doc set. +version = "0.0" + +# A link to latest version of the docs. Used in the "version-banner" partial to +# point people to the main doc site. +url_latest_version = "https://example.com" + +# Repository configuration (URLs for in-page links to opening issues and suggesting changes) +github_repo = "https://github.com/google/docsy-example" +# An optional link to a related project repo. For example, the sibling repository where your product code lives. +github_project_repo = "https://github.com/google/docsy" + +# Specify a value here if your content directory is not in your repo's root directory +# github_subdir = "" + +# Uncomment this if your GitHub repo does not have "main" as the default branch, +# or specify a new value if you want to reference another branch in your GitHub links +github_branch= "main" + +# Google Custom Search Engine ID. Remove or comment out to disable search. +gcs_engine_id = "d72aa9b2712488cc3" + +# Enable Lunr.js offline search +offlineSearch = false + +# Enable syntax highlighting and copy buttons on code blocks with Prism +prism_syntax_highlighting = false + +[params.copyright] + authors = "Docsy Authors | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0) | " + from_year = 2018 + +# User interface configuration +[params.ui] +# Set to true to disable breadcrumb navigation. +breadcrumb_disable = false +# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar +navbar_logo = true +# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage. +navbar_translucent_over_cover_disable = false +# Enable to show the side bar menu in its compact state. +sidebar_menu_compact = false +# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) +sidebar_search_disable = false + +# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. +# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. +# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, +# add "hide_feedback: true" to the page's front matter. +[params.ui.feedback] +enable = true +# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). +yes = 'Glad to hear it! Please tell us how we can improve.' +no = 'Sorry to hear that. Please tell us how we can improve.' + +# Adds a reading time to the top of each doc. +# If you want this feature, but occasionally need to remove the Reading time from a single page, +# add "hide_readingtime: true" to the page's front matter +[params.ui.readingtime] +enable = false + +[params.links] +# End user relevant links. These will show up on left side of footer and in the community page if you have one. +[[params.links.user]] + name = "User mailing list" + url = "https://example.org/mail" + icon = "fa fa-envelope" + desc = "Discussion and help from your fellow users" +[[params.links.user]] + name ="Twitter" + url = "https://example.org/twitter" + icon = "fab fa-twitter" + desc = "Follow us on Twitter to get the latest news!" +[[params.links.user]] + name = "Stack Overflow" + url = "https://example.org/stack" + icon = "fab fa-stack-overflow" + desc = "Practical questions and curated answers" +# Developer relevant links. These will show up on right side of footer and in the community page if you have one. +[[params.links.developer]] + name = "GitHub" + url = "https://github.com/google/docsy" + icon = "fab fa-github" + desc = "Development takes place here!" +[[params.links.developer]] + name = "Slack" + url = "https://example.org/slack" + icon = "fab fa-slack" + desc = "Chat with other project developers" +[[params.links.developer]] + name = "Developer mailing list" + url = "https://example.org/mail" + icon = "fa fa-envelope" + desc = "Discuss development issues around the project" + +# hugo module configuration + +[module] + # Uncomment the next line to build and serve using local docsy clone declared in the named Hugo workspace: + # workspace = "docsy.work" + [module.hugoVersion] + extended = true + min = "0.110.0" + [[module.imports]] + path = "github.com/google/docsy" + disable = false diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000000..97ec6ef8e9 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,211 @@ +baseURL = "https://dell.github.io/csm-docs/" +title = "Dell Technologies" +canonifyURLs = false + +enableRobotsTXT = true + +staticDir = "static" + +# Will give values to .Lastmod etc. +enableGitInfo = true + +# Language settings +contentDir = "content" +defaultContentLanguage = "en" +#defaultContentLanguageInSubdir = false +# Useful when translating. +enableMissingTranslationPlaceholders = true + +disableKinds = ["taxonomy", "taxonomy", "term"] + +# Highlighting config +pygmentsCodeFences = true +pygmentsUseClasses = false +# Use the new Chroma Go highlighter in Hugo. +pygmentsUseClassic = false +#pygmentsOptions = "linenos=table" +# See https://help.farbox.com/pygments.html +pygmentsStyle = "tango" + +# Configure how URLs look like per section. +[permalinks] +blog = "/:section/:year/:month/:day/:slug/" + +## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday +[blackfriday] +plainIDAnchors = true +hrefTargetBlank = true +angledQuotes = false +latexDashes = true + +# Image processing configuration. +[imaging] +resampleFilter = "CatmullRom" +quality = 75 +anchor = "smart" + +[services] +[services.googleAnalytics] +# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. +#id = "UA-00000000-0" + +# Language configuration + +[languages] +[languages.en.params] +title = "Dell Technologies" +description = "Dell Technologies (Dell) Container Storage Modules documentation pages" +languageName ="English" + +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true + +# Everything below this are Site Params + +[params] +copyright = "The Dell Technologies" +privacy_policy = "https://www.dell.com/learn/us/en/uscorp1/policies-privacy" + +# First one is picked as the Twitter card image if not set on page. +# images = ["images/project-illustration.png"] + +# Menu title if your navbar has a versions selector to access old versions of your site. +# This menu appears only if you have at least one [params.versions] set. +version_menu = "Releases" + +# Flag used in the "version-banner" partial to decide whether to display a +# banner on every page indicating that this is an archived version of the docs. +# Set this flag to "true" if you want to display the banner. +archived_version = false + +# The version number for the version of the docs represented in this doc set. +# Used in the "version-banner" partial to display a version number for the +# current doc set. +version = "0.0" + +# A link to latest version of the docs. Used in the "version-banner" partial to +# point people to the main doc site. +url_latest_version = "https://example.com" + +# Repository configuration (URLs for in-page links to opening issues and suggesting changes) +github_repo = "" +# An optional link to a related project repo. For example, the sibling repository where your product code lives. +#github_project_repo = "https://github.com/google/docsy" + +# Specify a value here if your content directory is not in your repo's root directory +# github_subdir = "" + +# Google Custom Search Engine ID. Remove or comment out to disable search. +#gcs_engine_id = "011737558837375720776:fsdu1nryfng" + +# Enable Algolia DocSearch +algolia_docsearch = false + +# Enable Lunr.js offline search +offlineSearch = true + +# Enable syntax highlighting and copy buttons on code blocks with Prism +prism_syntax_highlighting = true + +# User interface configuration +[params.ui] +# Enable to show the side bar menu in its compact state. +sidebar_menu_compact = true +# Set to true to disable breadcrumb navigation. +breadcrumb_disable = false +# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) +sidebar_search_disable = false +# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar +navbar_logo = true +# Set to true to disable the About link in the site footer +footer_about_disable = false + +# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. +# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. +# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, +# add "hide_feedback: true" to the page's front matter. +[params.ui.feedback] +enable = true +# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). +yes = 'Glad to hear it! Please tell us how we can improve.' +no = 'Sorry to hear that. Please tell us how we can improve.' + +# Adds a reading time to the top of each doc. +# If you want this feature, but occasionally need to remove the Reading time from a single page, +# add "hide_readingtime: true" to the page's front matter +[params.ui.readingtime] +enable = false + +[params.links] +# End user relevant links. These will show up on left side of footer and in the community page if you have one. +#[[params.links.user]] +# name = "User mailing list" +# url = "https://example.org/mail" +# icon = "fa fa-envelope" +# desc = "Discussion and help from your fellow users" +#[[params.links.user]] +# name ="Twitter" +# url = "https://example.org/twitter" +# icon = "fab fa-twitter" +# desc = "Follow us on Twitter to get the latest news!" +#[[params.links.user]] +# name = "Stack Overflow" +# url = "https://example.org/stack" +# icon = "fab fa-stack-overflow" +# desc = "Practical questions and curated answers" +# Developer relevant links. These will show up on right side of footer and in the community page if you have one. +[[params.links.developer]] + name = "GitHub" + url = "https://github.com/dell/csm" + icon = "fab fa-github" + desc = "Development takes place here!" +[[params.links.developer]] + name = "Slack" + url = "http://del.ly/Slack_request" + icon = "fab fa-slack" + desc = "Chat with other project developers" +#[[params.links.developer]] +# name = "Developer mailing list" +# url = "https://example.org/mail" +# icon = "fa fa-envelope" +# desc = "Discuss development issues around the project" +[[params.versions]] + version = "Current(v1.10.2)" + url = "https://dell.github.io/csm-docs/docs/" + +[[params.versions]] + version = "v1.9.4" + url = "https://dell.github.io/csm-docs/v1" + +[[params.versions]] + version = "v1.8.0" + url = "https://dell.github.io/csm-docs/v2" + +[[params.versions]] + version = "v1.7.1" + url = "https://dell.github.io/csm-docs/v3" + +[[menu.main]] + name = "GitHub" + weight = 50 + url = "https://github.com/dell/csm" + +[module] + # uncomment line below for temporary local development of module + # replacements = "github.com/google/docsy -> ../../docsy" + [module.hugoVersion] + extended = true + min = "0.75.0" + [[module.imports]] + path = "github.com/google/docsy" + disable = false + [[module.imports]] + path = "github.com/google/docsy/dependencies" + disable = false + [[module.mounts]] + source = "assets" + target = "assets" + +ignoreFiles = ['^content/docs/deployment/csminstallationwizard/src/index\.html$'] diff --git a/layouts/404.html b/layouts/404.html index 378b736750..1a9bd70440 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,10 +1,7 @@ -{{ define "main"}} -
-
-

Not found

-

Oops! This page doesn't exist. Try going back to our home page.

- -

You can learn how to make a 404 page like this in Custom 404 Pages.

-
-
-{{ end }} +{{ define "main" -}} +
+

Not found

+

Oops! This page doesn't exist. Try going back to the home page.

+

You can learn how to make a 404 page like this in Custom 404 Pages.

+
+{{- end }} diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html new file mode 100644 index 0000000000..7f8e97424d --- /dev/null +++ b/layouts/_default/_markup/render-heading.html @@ -0,0 +1 @@ +{{ template "_default/_markup/td-render-heading.html" . }} diff --git a/layouts/_default/content.html b/layouts/_default/content.html deleted file mode 100644 index 1fb7d9c910..0000000000 --- a/layouts/_default/content.html +++ /dev/null @@ -1,17 +0,0 @@ -
-

{{ .Title }}

- - {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} - {{ partial "reading-time.html" . }} - {{ end }} - {{ .Content }} - {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} - {{ partial "feedback.html" .Site.Params.ui.feedback }} -
- {{ end }} - {{ if (.Site.DisqusShortname) }} -
- {{ partial "disqus-comment.html" . }} - {{ end }} - -
diff --git a/layouts/blog/content.html b/layouts/blog/content.html index 7193b191d7..dae7acc98c 100644 --- a/layouts/blog/content.html +++ b/layouts/blog/content.html @@ -6,7 +6,7 @@

{{ .Title }}

{{ .Content }} - {{ if (.Site.DisqusShortname) }} + {{ if (.Site.Config.Services.Disqus.Shortname) }}
{{ partial "disqus-comment.html" . }}
diff --git a/layouts/docs/list.html b/layouts/docs/list.html index 98e16e7a51..c7123361d4 100644 --- a/layouts/docs/list.html +++ b/layouts/docs/list.html @@ -8,12 +8,12 @@

{{ .Title }}

{{ .Content }} {{ partial "section-index.html" . }} - {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} + {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.Config.Services.GoogleAnalytics.ID)) }} {{ partial "feedback.html" .Site.Params.ui.feedback }}
{{ end }} - {{ if (.Site.DisqusShortname) }} + {{ if (.Site.Config.Services.Disqus.Shortname) }}
{{ partial "disqus-comment.html" . }} {{ end }} diff --git a/layouts/partials/favicons.html b/layouts/partials/favicons.html deleted file mode 100644 index 1fb0630b8e..0000000000 --- a/layouts/partials/favicons.html +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/layouts/partials/feedback.html b/layouts/partials/feedback.html deleted file mode 100644 index 0978321907..0000000000 --- a/layouts/partials/feedback.html +++ /dev/null @@ -1,57 +0,0 @@ - -

Feedback

-

Was this page helpful?

- - -

- {{ .yes | safeHTML }} -

-

- {{ .no | safeHTML }} -

- diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html deleted file mode 100644 index dfb1f64d7c..0000000000 --- a/layouts/partials/footer.html +++ /dev/null @@ -1,39 +0,0 @@ -{{ $links := .Site.Params.links }} - -{{ define "footer-links-block" }} - -{{ end }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html deleted file mode 100644 index 2711dd8e79..0000000000 --- a/layouts/partials/head.html +++ /dev/null @@ -1,50 +0,0 @@ - - -{{ hugo.Generator }} -{{ range .AlternativeOutputFormats -}} - -{{ end -}} - -{{ $outputFormat := partial "outputformat.html" . -}} -{{ if and hugo.IsProduction (ne $outputFormat "print") -}} - -{{ else -}} - -{{ end -}} - -{{ partialCached "favicons.html" . }} - - {{- if .IsHome -}} - {{ .Site.Title -}} - {{ else -}} - {{ with .Title }}{{ . }} | {{ end -}} - {{ .Site.Title -}} - {{ end -}} - -{{ $desc := .Page.Description | default (.Page.Content | safeHTML | truncate 150) -}} - -{{ template "_internal/opengraph.html" . -}} -{{ template "_internal/schema.html" . -}} -{{ template "_internal/twitter_cards.html" . -}} -{{ partialCached "head-css.html" . "asdf" -}} - -{{ if .Site.Params.offlineSearch -}} - -{{ end -}} - -{{ if .Site.Params.prism_syntax_highlighting -}} - -{{ end -}} - -{{ partial "hooks/head-end.html" . -}} - -{{/* To comply with GDPR, cookie consent scripts places in head-end must execute before Google Analytics is enabled */ -}} -{{ if hugo.IsProduction -}} - {{ template "_internal/google_analytics.html" . -}} -{{ end -}} \ No newline at end of file diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html deleted file mode 100644 index 51f5539fcf..0000000000 --- a/layouts/partials/navbar.html +++ /dev/null @@ -1,33 +0,0 @@ -{{ $cover := .HasShortcode "blocks/cover" }} - diff --git a/layouts/partials/page-meta-links.html b/layouts/partials/page-meta-links.html deleted file mode 100644 index 256e42faf1..0000000000 --- a/layouts/partials/page-meta-links.html +++ /dev/null @@ -1,26 +0,0 @@ -{{ if .Path }} -{{ $pathFormatted := replace .Path "\\" "/" }} -{{ $gh_repo := ($.Param "github_repo") }} -{{ $gh_subdir := ($.Param "github_subdir") }} -{{ $gh_project_repo := ($.Param "github_project_repo") }} -{{ $gh_branch := (default "main" ($.Param "github_branch")) }} -{{ if $gh_repo }} -
-{{ $editURL := printf "%s/edit/%s/content/%s" $gh_repo $gh_branch $pathFormatted }} -{{ if and ($gh_subdir) (.Site.Language.Lang) }} -{{ $editURL = printf "%s/edit/%s/%s/content/%s/%s" $gh_repo $gh_branch $gh_subdir ($.Site.Language.Lang) $pathFormatted }} -{{ else if .Site.Language.Lang }} -{{ $editURL = printf "%s/edit/%s/content/%s/%s" $gh_repo $gh_branch ($.Site.Language.Lang) $pathFormatted }} -{{ else if $gh_subdir }} -{{ $editURL = printf "%s/edit/%s/%s/content/%s" $gh_repo $gh_branch $gh_subdir $pathFormatted }} -{{ end }} -{{ $issuesURL := printf "%s/issues/new?title=%s" $gh_repo (htmlEscape $.Title )}} - {{ T "post_edit_this" }} - {{ T "post_create_issue" }} -{{ if $gh_project_repo }} -{{ $project_issueURL := printf "%s/issues/new" $gh_project_repo }} - {{ T "post_create_project_issue" }} -{{ end }} -
-{{ end }} -{{ end }} diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html deleted file mode 100644 index 8f47c8033b..0000000000 --- a/layouts/partials/scripts.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ if .Site.Params.prism_syntax_highlighting -}} - -{{ end -}} - - - -{{ $jsBase := resources.Get "js/base.js" }} -{{ $jsAnchor := resources.Get "js/anchor.js" }} -{{ $jsSearch := resources.Get "js/search.js" | resources.ExecuteAsTemplate "js/search.js" .Site.Home }} -{{ if .Site.Params.offlineSearch }} -{{ $jsSearch = resources.Get "js/offline-search.js" }} -{{ end }} -{{ $js := (slice $jsBase $jsAnchor $jsSearch) | resources.Concat "js/main.js" }} -{{ if .Site.IsServer }} - -{{ else }} -{{ $js := $js | minify | fingerprint }} - -{{ end }} -{{ partial "hooks/body-end.html" . }} diff --git a/layouts/partials/toc.html b/layouts/partials/toc.html deleted file mode 100644 index 2b2296da15..0000000000 --- a/layouts/partials/toc.html +++ /dev/null @@ -1,8 +0,0 @@ - -{{ if not .Params.notoc }} -{{ with .TableOfContents }} -{{ if ge (len .) 200 }} -{{ . }} -{{ end }} -{{ end }} -{{ end }} diff --git a/layouts/v1/list.html b/layouts/v1/list.html index e2679fb2f9..1dccc11981 100644 --- a/layouts/v1/list.html +++ b/layouts/v1/list.html @@ -10,11 +10,11 @@

{{ .Title }}

{{ .Content }} {{ partial "section-index.html" . }} - {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} + {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.Config.Services.GoogleAnalytics.ID)) }} {{ partial "feedback.html" .Site.Params.ui.feedback }}
{{ end }} - {{ if (.Site.DisqusShortname) }} + {{ if (.Site.Config.Services.Disqus.Shortname) }}
{{ partial "disqus-comment.html" . }} {{ end }} diff --git a/layouts/v2/list.html b/layouts/v2/list.html index e2679fb2f9..1dccc11981 100644 --- a/layouts/v2/list.html +++ b/layouts/v2/list.html @@ -10,11 +10,11 @@

{{ .Title }}

{{ .Content }} {{ partial "section-index.html" . }} - {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} + {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.Config.Services.GoogleAnalytics.ID)) }} {{ partial "feedback.html" .Site.Params.ui.feedback }}
{{ end }} - {{ if (.Site.DisqusShortname) }} + {{ if (.Site.Config.Services.Disqus.Shortname) }}
{{ partial "disqus-comment.html" . }} {{ end }} diff --git a/layouts/v3/list.html b/layouts/v3/list.html index e2679fb2f9..1dccc11981 100644 --- a/layouts/v3/list.html +++ b/layouts/v3/list.html @@ -10,11 +10,11 @@

{{ .Title }}

{{ .Content }} {{ partial "section-index.html" . }} - {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} + {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.Config.Services.GoogleAnalytics.ID)) }} {{ partial "feedback.html" .Site.Params.ui.feedback }}
{{ end }} - {{ if (.Site.DisqusShortname) }} + {{ if (.Site.Config.Services.Disqus.Shortname) }}
{{ partial "disqus-comment.html" . }} {{ end }} diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000000..7898ef86a6 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,12 @@ +# Hugo build configuration for Netlify +# (https://gohugo.io/hosting-and-deployment/hosting-on-netlify/#configure-hugo-version-in-netlify) + +[build] +command = "npm run build:preview" +publish = "public" + +[build.environment] +GO_VERSION = "1.22.2" + +[context.production] +command = "npm run build:production" diff --git a/package-lock.json b/package-lock.json index 7b029bf09e..06213b0f0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,98 @@ { - "name": "tech-doc-hugo", - "version": "0.0.1", - "lockfileVersion": 2, + "name": "csm-docs", + "version": "0.10.0", + "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "tech-doc-hugo", - "version": "0.0.1", + "name": "csm-docs", + "version": "0.10.0", "license": "ISC", "devDependencies": { - "autoprefixer": "^10.4.0", - "postcss": "^8.4.31", - "postcss-cli": "^9.0.2" + "autoprefixer": "^10.4.14", + "cross-env": "^7.0.3", + "hugo-extended": "0.129.0", + "postcss-cli": "^11.0.0" } }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -49,6 +128,54 @@ "node": ">= 8" } }, + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -74,9 +201,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -86,22 +213,10 @@ "node": ">= 8" } }, - "node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ { @@ -111,12 +226,16 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -131,13 +250,46 @@ "postcss": "^8.1.0" } }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "node_modules/braces": { @@ -153,9 +305,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { @@ -165,13 +317,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -180,10 +336,104 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "dev": true, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001366", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001366.tgz", - "integrity": "sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA==", + "version": "1.0.30001643", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", + "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", "dev": true, "funding": [ { @@ -193,20 +443,47 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, + "node_modules/careful-downloader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/careful-downloader/-/careful-downloader-3.0.0.tgz", + "integrity": "sha512-5KMIPa0Yoj+2tY6OK9ewdwcPebp+4XS0dMYvvF9/8fkFEfvnEpWmHWYs9JNcZ7RZUvY/v6oPzLpmmTzSIbroSA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "decompress": "^4.2.1", + "fs-extra": "^11.1.1", + "got": "^12.6.0", + "is-path-inside": "^4.0.0", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -219,19 +496,25 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/color-convert": { @@ -252,102 +535,386 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.189", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.189.tgz", - "integrity": "sha512-dQ6Zn4ll2NofGtxPXaDfY2laIa6NyCQdqXYHdwH90GJQW0LpJJib0ZU/ERtbb0XkBEmUD2eJtagbOie3pdMiPg==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, + "dependencies": { + "type-fest": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, "engines": { - "node": ">=8.6.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz", + "integrity": "sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "dev": true, + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -355,13 +922,13 @@ "universalify": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.14" } }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -372,6 +939,15 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -393,6 +969,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -406,40 +995,180 @@ } }, "node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/hugo-extended": { + "version": "0.129.0", + "resolved": "https://registry.npmjs.org/hugo-extended/-/hugo-extended-0.129.0.tgz", + "integrity": "sha512-hH8rIg5cZXap7VPvPVt/XUjjnhJd74j0xfbZwgG2NsStte5XSwvupWAZdkMgwDsbV8WS+Iy9QVTZXSLX92YIZg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "careful-downloader": "^3.0.0", + "log-symbols": "^5.1.0", + "read-pkg-up": "^9.1.0" + }, + "bin": { + "hugo": "lib/cli.js", + "hugo-extended": "lib/cli.js" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -452,6 +1181,21 @@ "node": ">=8" } }, + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -482,6 +1226,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -491,27 +1241,184 @@ "node": ">=0.12.0" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { "node": ">=10" } }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -522,22 +1429,40 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { @@ -545,6 +1470,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -553,11 +1479,26 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -576,19 +1517,133 @@ "node": ">=0.10.0" } }, - "node_modules/path-type": { + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { "node": ">=8" } }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -612,10 +1667,31 @@ "node": ">=0.10.0" } }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "funding": [ { @@ -631,78 +1707,99 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-cli": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz", - "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz", + "integrity": "sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==", "dev": true, "dependencies": { "chokidar": "^3.3.0", "dependency-graph": "^0.11.0", - "fs-extra": "^10.0.0", + "fs-extra": "^11.0.0", "get-stdin": "^9.0.0", - "globby": "^12.0.0", + "globby": "^14.0.0", "picocolors": "^1.0.0", - "postcss-load-config": "^3.0.0", + "postcss-load-config": "^5.0.0", "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", "read-cache": "^1.0.0", - "slash": "^4.0.0", + "slash": "^5.0.0", "yargs": "^17.0.0" }, "bin": { "postcss": "index.js" }, "engines": { - "node": ">=12" + "node": ">=18" }, "peerDependencies": { "postcss": "^8.0.0" } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", + "integrity": "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "lilconfig": "^3.1.1", + "yaml": "^2.4.2" }, "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 18" }, "peerDependencies": { + "jiti": ">=1.21.0", "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" + "tsx": "^4.8.1" }, "peerDependenciesMeta": { + "jiti": { + "optional": true + }, "postcss": { "optional": true }, - "ts-node": { + "tsx": { "optional": true } } }, "node_modules/postcss-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", - "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", + "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { "picocolors": "^1.0.0", "thenby": "^1.3.4" @@ -710,10 +1807,6 @@ "engines": { "node": ">=10" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.1.0" } @@ -733,6 +1826,12 @@ "node": ">= 0.8" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -753,6 +1852,18 @@ } ] }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -762,27 +1873,104 @@ "pify": "^2.3.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/read-pkg": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", + "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^2.0.0" }, "engines": { - "node": ">=8.10.0" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/read-pkg-up": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", + "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0", + "read-pkg": "^7.1.0", + "type-fest": "^2.5.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dev": true, + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -816,27 +2004,141 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -863,12 +2165,102 @@ "node": ">=8" } }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/temp-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", + "dev": true, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/tempy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", + "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", + "dev": true, + "dependencies": { + "is-stream": "^3.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/thenby": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", "dev": true }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -881,19 +2273,68 @@ "node": ">=8.0" } }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "engines": { "node": ">= 10.0.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", - "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -903,19 +2344,54 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -933,6 +2409,21 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -942,655 +2433,72 @@ "node": ">=10" } }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" } - } - }, - "dependencies": { - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, - "requires": { - "color-convert": "^2.0.1" + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", - "dev": true, - "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" - } - }, - "caniuse-lite": { - "version": "1.0.30001366", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001366.tgz", - "integrity": "sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "electron-to-chromium": { - "version": "1.4.189", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.189.tgz", - "integrity": "sha512-dQ6Zn4ll2NofGtxPXaDfY2laIa6NyCQdqXYHdwH90GJQW0LpJJib0ZU/ERtbb0XkBEmUD2eJtagbOie3pdMiPg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "requires": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-cli": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz", - "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==", - "dev": true, - "requires": { - "chokidar": "^3.3.0", - "dependency-graph": "^0.11.0", - "fs-extra": "^10.0.0", - "get-stdin": "^9.0.0", - "globby": "^12.0.0", - "picocolors": "^1.0.0", - "postcss-load-config": "^3.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^4.0.0", - "yargs": "^17.0.0" - } - }, - "postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dev": true, - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } - }, - "postcss-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", - "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", - "dev": true, - "requires": { - "picocolors": "^1.0.0", - "thenby": "^1.3.4" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "requires": { - "pify": "^2.3.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "thenby": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", - "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", - "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - } - }, - "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true } } } diff --git a/package.json b/package.json index 4591f0cbbf..20458dbf24 100644 --- a/package.json +++ b/package.json @@ -1,24 +1,49 @@ { - "name": "tech-doc-hugo", - "version": "0.0.1", - "description": "Hugo theme for technical documentation.", - "main": "none.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, + "name": "csm-docs", + "version": "0.10.0", + "description": "Welcome to Dell Technologies Container Storage Modules documentation!", "repository": { "type": "git", "url": "git+https://github.com/dell/csm-docs.git" }, + "homepage": "https://github.com/dell/csm-docs#readme", "author": "", "license": "ISC", - "bugs": { - "url": "https://github.com/dell/csm-docs/issues" + "bugs": "https://github.com/dell/csm-docs/issues", + "spelling": "cSpell:ignore docsy hugo htmltest precheck postbuild -", + "scripts": { + "_build": "npm run _hugo-dev --", + "_check:links": "echo IMPLEMENTATION PENDING for check-links; echo", + "_hugo": "hugo --cleanDestinationDir", + "_hugo-dev": "npm run _hugo -- -e dev -DFE", + "_local": "npx cross-env HUGO_MODULE_WORKSPACE=docsy.work", + "_serve": "npm run _hugo-dev -- --minify serve --renderToMemory", + "build:preview": "npm run _hugo-dev -- --minify --baseURL \"${DEPLOY_PRIME_URL:-/}\"", + "build:production": "npm run _hugo -- --minify", + "build": "npm run _build -- ", + "check:links:all": "HTMLTEST_ARGS= npm run _check:links", + "check:links": "npm run _check:links", + "clean": "rm -Rf public/* resources", + "local": "npm run _local -- npm run", + "make:public": "git init -b main public", + "precheck:links:all": "npm run build", + "precheck:links": "npm run build", + "postbuild:preview": "npm run _check:links", + "postbuild:production": "npm run _check:links", + "serve": "npm run _serve", + "test": "npm run check:links", + "update:dep": "npm install --save-dev autoprefixer@latest postcss-cli@latest", + "update:hugo": "npm install --save-dev --save-exact hugo-extended@latest" }, - "homepage": "https://github.com/dell/csm-docs#readme", "devDependencies": { - "autoprefixer": "^10.4.0", - "postcss": "^8.4.31", - "postcss-cli": "^9.0.2" + "autoprefixer": "^10.4.14", + "cross-env": "^7.0.3", + "hugo-extended": "0.129.0", + "postcss-cli": "^11.0.0" + }, + "private": true, + "prettier": { + "proseWrap": "always", + "singleQuote": true } } diff --git a/static/favicons/favicon-16x16.png b/static/favicons/favicon-16x16.png deleted file mode 100755 index 7743bb88ce9200e350fe1f924458e73be26ffc7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3099 zcmV+$4CM2PP)&iAawoRhcn9h`~663^amCgrmntSg#XYVy1x_LAWf;=SuuY2va{%h^E&)IveEvm}NLIhz(T}Z)|;LISbRDo6^ z^apx@D*;i|v><$hy3I)VF21-1vGrta3o`~Ks+=?lIT;6}8cV;rK4>zGF#0B{*I>i* z39_IL(gb`8s7F;m1RFvSffz{kLz;Yum^VOP!RxzhuHCK+$GS7_fJ|(-m`Fz>i~;{; za$Os&gjp!;1z3T|LSkK_4-VXL zMjVjpMV9_wyc27_kGi2mWrkw2N90YsdmV4yA#yv&XPf98?PEqoQ4dotw=B=ny>}@T zdw@G1YldO%*HIlowu_;-$05N=RG%X=aDh%IJ#7xiq{a$@^gpn6BqF8w6jWY7{S!!1 zOOxNNPhOUsP$UlM9JeZ@yXi_IUnGith}f|h1J3P5^bPjMKhpU_x1X{Da(}}Jocjf; z{V-NgzmnAdJ0&l@rPHVT&qDf`HfGK=#5Y}qrVk^w3PizeL$WvM1N~N>lmjwyX24f& z9E}YgNBub%(~NVEky$kDbP?}hv$`%~fXo8D9hGu~{fK^tKYskGzB%HkDRpcIYU*wz zv`=AdH(dGwNjyy-9P(dhf_Mkp_pbXc#?Auihx%qDxSb7`yr>K5@Rc%0RZz2LB$?H1`0n%wE|7|581D}Y$q;#lC-#+Aafz5I{v^|YYOcz{{qI0A=4=& z-oJ#02flUI*d7a>-=Mkz7kjL~U2gkxIe-yCFy?Y>P(`sN!O3HPP0>F9oj0Tf{BxiQ zChS9xuGa$?#@2-hqX(4gXVb$aWWL#pc{F0z-S zJ_m`%AjBxvHnGoc)Bn7*>8Rw#*Ol^>p5MWR*UH4zGxg!BHSNalZMY2RPLkio!&UW% zr>oq(v5eBR3a1hI<`w$$FE@9z5G=*}8m#F?njaDn`6|K;6yvR!_|WmSFXf1T4kH($ zfkBKRLa}BiW$u4uYQtkX`_lhzN3N!^H(i*3$lV0lh_JW`Xy*Wid6-}X&OE~m#=&9d z{@ngSnCwEtcPGeR3B1#R|DK&|=-hob)^@?A0}LrcP!Hbk#L1zkCV2r3Kmwd^ME&ca zf55v^qFgoNpOz{0Upq*CQvF~;zW@_X1Of`X@28mlL~7O#lPT-Q%Y-dmTl2sL7$c~+ z>{uo3$a!hCDOhaUeyk1p=!kt-+lUE6gbNKu`{QCr(_J)m-`8FmMFi4xK701vjP4x+ z$v24its>0z!}@sua)0BsM7)B{T!(ib;nEv)cI5*^!PNxjB|3GRPpA0DZ8{UwgLFJu z;#E=gcn9WFE-EhFf(=19$AJ9;E(PHeo~{(EMlAKhdVO8{UIR#|Rq{KoDtL zjbp)V!&tCkCj+ho^&S)M)f2wq#|=Ou3fSnM0E6?dkuSNHJ;^Sa*07K;HyzbxT=E1T z*-_+muiRJvDn_bE_O}M-WMO0vBA^5Ytb%~}6W5p;X{!oBQUoxF??HCoO_YW&6Gmf6 ziraAUeL83Go%C?S$?0#gnd?Z3+GhOd5IKGj)yskT2512cJ}qgZbTp-|-Ko?Bm8iR< zHN9j3V*ZaXHyn5z8(l$?{}ayNtaFDxA~m)DMr5BSQ(8%3-|sL%12zQk^j_M2AGGd) zRt_r1u1ctuwM8H?h<;2Ef=D_4vOIHyB&dQFBeKX!bzLM=YQKTFS!6nQ1M@aX%M>KK z85h?R=D;~{K96y`WLo_KqRazG(3?W@FCgJCr29 z6ZI2y{uQ4v`{LgdyHU9KHy8oKRj9s=>Mdw2r1?oSn+f{UOLl;o*0PMhfr@x7lUCPK zF`$;3wQphMeAMT0DcJ0niUGCc*KDAscADI>JPUxe75D^P+7y6YjR+Xq3!)yt zE&w7USPLeMF}4RHJy1Z?7#A-?Ws1%nyt;KoQ5d{QCaoPyz-&x(E1H&}x*c!t)Y*fU z9!fuJh;lJ#4lxyN=>mo>q;ZxYbP&dP-@EM#2sQ(0@mv5Izr2*ri^^{YvX z9()BM=K&1>?B4qqI&~UHy1x`FDTy~2?+C&Vbk?BSqo(G(AuYhaO3k_rgyCokEkDwS zE^BBf9 zUa=R<8-zIsf@`R%D?1&A&ItKQYfCWlO%8N_~-$PGT-hEE&9 z;2$u-1t2M^OZCkWY3nYDSqb_!nNAsu9e*4(X9Y5o0H5B5cR75z1K)EY9JmvISib}B z7gN}qVuEU!y6&p8%Jv9|h!EG_hz*7lWI^Onop){vv^mh)8PQ)O@-AW&H9wOH?{z)9 zv=77NHGNS10Ve2%D{Lb1j~^I1SlH4zm7DSY8Pa?KYpTeFHD`xydr0*nOAy|H39kg> zP&2jda}69>ne%&oiJE1!{vGfg1ZQ!5LbAf;-0044|go?PN?ri z&cB10KA>BOi+AX}sy9AY(g(OqS$`#>uMuRrpl%gTZ_+t~HXbh1p}ej?8@Lk_d>f?z zQbCk`N~Wy&+s}`7D`ZN;l?3KhFlBhZl_Z{YBzgF>2FH}T(FEpcj4emq$0)ZE`rqpG zL8tu()z0qBEm;bCM2vdKsrb#3fsiuqWOvCeg`K zv+=w$Mt(}&1;i~=5qTCHbw%t}w0KPNaGWNehzL{bzK*)N1i8N`V`aA?`YG*JJGkc%LK82ywgtEBBEvTcY#N%byUh z&-~P2(y|hQK6j!14ouJoe1wgp^^HWl8*3YJ?gNDFh~3?K0oO8wKA5mCnhwN7U0dr- ziDH5npKb?zf^^4YI`8jWj?dy095^_!rm-_79)rjzR4OsH9DErj46z{?d#H4x+WH8@ zC6J~GM)sg-6OLL$m(Xk%A8+MOy94c%Ol`Orb(M%8K$`Z&*zQ6 diff --git a/static/favicons/favicon-32x32.png b/static/favicons/favicon-32x32.png deleted file mode 100755 index 7743bb88ce9200e350fe1f924458e73be26ffc7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3099 zcmV+$4CM2PP)&iAawoRhcn9h`~663^amCgrmntSg#XYVy1x_LAWf;=SuuY2va{%h^E&)IveEvm}NLIhz(T}Z)|;LISbRDo6^ z^apx@D*;i|v><$hy3I)VF21-1vGrta3o`~Ks+=?lIT;6}8cV;rK4>zGF#0B{*I>i* z39_IL(gb`8s7F;m1RFvSffz{kLz;Yum^VOP!RxzhuHCK+$GS7_fJ|(-m`Fz>i~;{; za$Os&gjp!;1z3T|LSkK_4-VXL zMjVjpMV9_wyc27_kGi2mWrkw2N90YsdmV4yA#yv&XPf98?PEqoQ4dotw=B=ny>}@T zdw@G1YldO%*HIlowu_;-$05N=RG%X=aDh%IJ#7xiq{a$@^gpn6BqF8w6jWY7{S!!1 zOOxNNPhOUsP$UlM9JeZ@yXi_IUnGith}f|h1J3P5^bPjMKhpU_x1X{Da(}}Jocjf; z{V-NgzmnAdJ0&l@rPHVT&qDf`HfGK=#5Y}qrVk^w3PizeL$WvM1N~N>lmjwyX24f& z9E}YgNBub%(~NVEky$kDbP?}hv$`%~fXo8D9hGu~{fK^tKYskGzB%HkDRpcIYU*wz zv`=AdH(dGwNjyy-9P(dhf_Mkp_pbXc#?Auihx%qDxSb7`yr>K5@Rc%0RZz2LB$?H1`0n%wE|7|581D}Y$q;#lC-#+Aafz5I{v^|YYOcz{{qI0A=4=& z-oJ#02flUI*d7a>-=Mkz7kjL~U2gkxIe-yCFy?Y>P(`sN!O3HPP0>F9oj0Tf{BxiQ zChS9xuGa$?#@2-hqX(4gXVb$aWWL#pc{F0z-S zJ_m`%AjBxvHnGoc)Bn7*>8Rw#*Ol^>p5MWR*UH4zGxg!BHSNalZMY2RPLkio!&UW% zr>oq(v5eBR3a1hI<`w$$FE@9z5G=*}8m#F?njaDn`6|K;6yvR!_|WmSFXf1T4kH($ zfkBKRLa}BiW$u4uYQtkX`_lhzN3N!^H(i*3$lV0lh_JW`Xy*Wid6-}X&OE~m#=&9d z{@ngSnCwEtcPGeR3B1#R|DK&|=-hob)^@?A0}LrcP!Hbk#L1zkCV2r3Kmwd^ME&ca zf55v^qFgoNpOz{0Upq*CQvF~;zW@_X1Of`X@28mlL~7O#lPT-Q%Y-dmTl2sL7$c~+ z>{uo3$a!hCDOhaUeyk1p=!kt-+lUE6gbNKu`{QCr(_J)m-`8FmMFi4xK701vjP4x+ z$v24its>0z!}@sua)0BsM7)B{T!(ib;nEv)cI5*^!PNxjB|3GRPpA0DZ8{UwgLFJu z;#E=gcn9WFE-EhFf(=19$AJ9;E(PHeo~{(EMlAKhdVO8{UIR#|Rq{KoDtL zjbp)V!&tCkCj+ho^&S)M)f2wq#|=Ou3fSnM0E6?dkuSNHJ;^Sa*07K;HyzbxT=E1T z*-_+muiRJvDn_bE_O}M-WMO0vBA^5Ytb%~}6W5p;X{!oBQUoxF??HCoO_YW&6Gmf6 ziraAUeL83Go%C?S$?0#gnd?Z3+GhOd5IKGj)yskT2512cJ}qgZbTp-|-Ko?Bm8iR< zHN9j3V*ZaXHyn5z8(l$?{}ayNtaFDxA~m)DMr5BSQ(8%3-|sL%12zQk^j_M2AGGd) zRt_r1u1ctuwM8H?h<;2Ef=D_4vOIHyB&dQFBeKX!bzLM=YQKTFS!6nQ1M@aX%M>KK z85h?R=D;~{K96y`WLo_KqRazG(3?W@FCgJCr29 z6ZI2y{uQ4v`{LgdyHU9KHy8oKRj9s=>Mdw2r1?oSn+f{UOLl;o*0PMhfr@x7lUCPK zF`$;3wQphMeAMT0DcJ0niUGCc*KDAscADI>JPUxe75D^P+7y6YjR+Xq3!)yt zE&w7USPLeMF}4RHJy1Z?7#A-?Ws1%nyt;KoQ5d{QCaoPyz-&x(E1H&}x*c!t)Y*fU z9!fuJh;lJ#4lxyN=>mo>q;ZxYbP&dP-@EM#2sQ(0@mv5Izr2*ri^^{YvX z9()BM=K&1>?B4qqI&~UHy1x`FDTy~2?+C&Vbk?BSqo(G(AuYhaO3k_rgyCokEkDwS zE^BBf9 zUa=R<8-zIsf@`R%D?1&A&ItKQYfCWlO%8N_~-$PGT-hEE&9 z;2$u-1t2M^OZCkWY3nYDSqb_!nNAsu9e*4(X9Y5o0H5B5cR75z1K)EY9JmvISib}B z7gN}qVuEU!y6&p8%Jv9|h!EG_hz*7lWI^Onop){vv^mh)8PQ)O@-AW&H9wOH?{z)9 zv=77NHGNS10Ve2%D{Lb1j~^I1SlH4zm7DSY8Pa?KYpTeFHD`xydr0*nOAy|H39kg> zP&2jda}69>ne%&oiJE1!{vGfg1ZQ!5LbAf;-0044|go?PN?ri z&cB10KA>BOi+AX}sy9AY(g(OqS$`#>uMuRrpl%gTZ_+t~HXbh1p}ej?8@Lk_d>f?z zQbCk`N~Wy&+s}`7D`ZN;l?3KhFlBhZl_Z{YBzgF>2FH}T(FEpcj4emq$0)ZE`rqpG zL8tu()z0qBEm;bCM2vdKsrb#3fsiuqWOvCeg`K zv+=w$Mt(}&1;i~=5qTCHbw%t}w0KPNaGWNehzL{bzK*)N1i8N`V`aA?`YG*JJGkc%LK82ywgtEBBEvTcY#N%byUh z&-~P2(y|hQK6j!14ouJoe1wgp^^HWl8*3YJ?gNDFh~3?K0oO8wKA5mCnhwN7U0dr- ziDH5npKb?zf^^4YI`8jWj?dy095^_!rm-_79)rjzR4OsH9DErj46z{?d#H4x+WH8@ zC6J~GM)sg-6OLL$m(Xk%A8+MOy94c%Ol`Orb(M%8K$`Z&*zQ6 diff --git a/static/favicons/favicon.ico b/static/favicons/favicon.ico deleted file mode 100644 index 7743bb88ce9200e350fe1f924458e73be26ffc7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3099 zcmV+$4CM2PP)&iAawoRhcn9h`~663^amCgrmntSg#XYVy1x_LAWf;=SuuY2va{%h^E&)IveEvm}NLIhz(T}Z)|;LISbRDo6^ z^apx@D*;i|v><$hy3I)VF21-1vGrta3o`~Ks+=?lIT;6}8cV;rK4>zGF#0B{*I>i* z39_IL(gb`8s7F;m1RFvSffz{kLz;Yum^VOP!RxzhuHCK+$GS7_fJ|(-m`Fz>i~;{; za$Os&gjp!;1z3T|LSkK_4-VXL zMjVjpMV9_wyc27_kGi2mWrkw2N90YsdmV4yA#yv&XPf98?PEqoQ4dotw=B=ny>}@T zdw@G1YldO%*HIlowu_;-$05N=RG%X=aDh%IJ#7xiq{a$@^gpn6BqF8w6jWY7{S!!1 zOOxNNPhOUsP$UlM9JeZ@yXi_IUnGith}f|h1J3P5^bPjMKhpU_x1X{Da(}}Jocjf; z{V-NgzmnAdJ0&l@rPHVT&qDf`HfGK=#5Y}qrVk^w3PizeL$WvM1N~N>lmjwyX24f& z9E}YgNBub%(~NVEky$kDbP?}hv$`%~fXo8D9hGu~{fK^tKYskGzB%HkDRpcIYU*wz zv`=AdH(dGwNjyy-9P(dhf_Mkp_pbXc#?Auihx%qDxSb7`yr>K5@Rc%0RZz2LB$?H1`0n%wE|7|581D}Y$q;#lC-#+Aafz5I{v^|YYOcz{{qI0A=4=& z-oJ#02flUI*d7a>-=Mkz7kjL~U2gkxIe-yCFy?Y>P(`sN!O3HPP0>F9oj0Tf{BxiQ zChS9xuGa$?#@2-hqX(4gXVb$aWWL#pc{F0z-S zJ_m`%AjBxvHnGoc)Bn7*>8Rw#*Ol^>p5MWR*UH4zGxg!BHSNalZMY2RPLkio!&UW% zr>oq(v5eBR3a1hI<`w$$FE@9z5G=*}8m#F?njaDn`6|K;6yvR!_|WmSFXf1T4kH($ zfkBKRLa}BiW$u4uYQtkX`_lhzN3N!^H(i*3$lV0lh_JW`Xy*Wid6-}X&OE~m#=&9d z{@ngSnCwEtcPGeR3B1#R|DK&|=-hob)^@?A0}LrcP!Hbk#L1zkCV2r3Kmwd^ME&ca zf55v^qFgoNpOz{0Upq*CQvF~;zW@_X1Of`X@28mlL~7O#lPT-Q%Y-dmTl2sL7$c~+ z>{uo3$a!hCDOhaUeyk1p=!kt-+lUE6gbNKu`{QCr(_J)m-`8FmMFi4xK701vjP4x+ z$v24its>0z!}@sua)0BsM7)B{T!(ib;nEv)cI5*^!PNxjB|3GRPpA0DZ8{UwgLFJu z;#E=gcn9WFE-EhFf(=19$AJ9;E(PHeo~{(EMlAKhdVO8{UIR#|Rq{KoDtL zjbp)V!&tCkCj+ho^&S)M)f2wq#|=Ou3fSnM0E6?dkuSNHJ;^Sa*07K;HyzbxT=E1T z*-_+muiRJvDn_bE_O}M-WMO0vBA^5Ytb%~}6W5p;X{!oBQUoxF??HCoO_YW&6Gmf6 ziraAUeL83Go%C?S$?0#gnd?Z3+GhOd5IKGj)yskT2512cJ}qgZbTp-|-Ko?Bm8iR< zHN9j3V*ZaXHyn5z8(l$?{}ayNtaFDxA~m)DMr5BSQ(8%3-|sL%12zQk^j_M2AGGd) zRt_r1u1ctuwM8H?h<;2Ef=D_4vOIHyB&dQFBeKX!bzLM=YQKTFS!6nQ1M@aX%M>KK z85h?R=D;~{K96y`WLo_KqRazG(3?W@FCgJCr29 z6ZI2y{uQ4v`{LgdyHU9KHy8oKRj9s=>Mdw2r1?oSn+f{UOLl;o*0PMhfr@x7lUCPK zF`$;3wQphMeAMT0DcJ0niUGCc*KDAscADI>JPUxe75D^P+7y6YjR+Xq3!)yt zE&w7USPLeMF}4RHJy1Z?7#A-?Ws1%nyt;KoQ5d{QCaoPyz-&x(E1H&}x*c!t)Y*fU z9!fuJh;lJ#4lxyN=>mo>q;ZxYbP&dP-@EM#2sQ(0@mv5Izr2*ri^^{YvX z9()BM=K&1>?B4qqI&~UHy1x`FDTy~2?+C&Vbk?BSqo(G(AuYhaO3k_rgyCokEkDwS zE^BBf9 zUa=R<8-zIsf@`R%D?1&A&ItKQYfCWlO%8N_~-$PGT-hEE&9 z;2$u-1t2M^OZCkWY3nYDSqb_!nNAsu9e*4(X9Y5o0H5B5cR75z1K)EY9JmvISib}B z7gN}qVuEU!y6&p8%Jv9|h!EG_hz*7lWI^Onop){vv^mh)8PQ)O@-AW&H9wOH?{z)9 zv=77NHGNS10Ve2%D{Lb1j~^I1SlH4zm7DSY8Pa?KYpTeFHD`xydr0*nOAy|H39kg> zP&2jda}69>ne%&oiJE1!{vGfg1ZQ!5LbAf;-0044|go?PN?ri z&cB10KA>BOi+AX}sy9AY(g(OqS$`#>uMuRrpl%gTZ_+t~HXbh1p}ej?8@Lk_d>f?z zQbCk`N~Wy&+s}`7D`ZN;l?3KhFlBhZl_Z{YBzgF>2FH}T(FEpcj4emq$0)ZE`rqpG zL8tu()z0qBEm;bCM2vdKsrb#3fsiuqWOvCeg`K zv+=w$Mt(}&1;i~=5qTCHbw%t}w0KPNaGWNehzL{bzK*)N1i8N`V`aA?`YG*JJGkc%LK82ywgtEBBEvTcY#N%byUh z&-~P2(y|hQK6j!14ouJoe1wgp^^HWl8*3YJ?gNDFh~3?K0oO8wKA5mCnhwN7U0dr- ziDH5npKb?zf^^4YI`8jWj?dy095^_!rm-_79)rjzR4OsH9DErj46z{?d#H4x+WH8@ zC6J~GM)sg-6OLL$m(Xk%A8+MOy94c%Ol`Orb(M%8K$`Z&*zQ6 From a5c66a1b4a54ccb9b73980f6a4de667177515908 Mon Sep 17 00:00:00 2001 From: Wilson Radadia Date: Wed, 24 Jul 2024 16:39:48 +0530 Subject: [PATCH 2/8] Solved issues in Title and Learn more error in home page --- content/_index.html | 2 +- hugo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/_index.html b/content/_index.html index b25ebcc3fc..f83e5872c7 100644 --- a/content/_index.html +++ b/content/_index.html @@ -5,7 +5,7 @@ {{< blocks/cover title="Welcome to Dell Technologies Container Storage Modules documentation!" image_anchor="top" height="max" color="primary" >}} diff --git a/hugo.toml b/hugo.toml index 97ec6ef8e9..9e910ccd8f 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,5 +1,5 @@ baseURL = "https://dell.github.io/csm-docs/" -title = "Dell Technologies" +title = "" canonifyURLs = false enableRobotsTXT = true From 40545278e015415e8a5b9a1d6ffed3cd1901db3a Mon Sep 17 00:00:00 2001 From: Wilson Radadia Date: Wed, 24 Jul 2024 19:01:43 +0530 Subject: [PATCH 3/8] Revert changes made for table --- content/config.toml | 211 ------------------ content/docs/applicationmobility/_index.md | 4 +- content/docs/authorization/_index.md | 4 +- content/docs/cosidriver/_index.md | 16 +- content/docs/cosidriver/features/_index.md | 4 +- .../docs/cosidriver/features/objectscale.md | 4 +- content/docs/cosidriver/installation/helm.md | 8 +- content/docs/csidriver/_index.md | 8 +- content/docs/observability/_index.md | 16 +- content/docs/prerequisites/_index.md | 16 +- content/docs/replication/_index.md | 4 +- .../docs/replication/replication-actions.md | 8 +- content/docs/resiliency/_index.md | 16 +- content/docs/secure/encryption/_index.md | 16 +- content/docs/support/cert-csi/qualified.md | 4 +- content/v1/applicationmobility/_index.md | 8 +- content/v1/authorization/_index.md | 16 +- content/v1/cosidriver/_index.md | 16 +- content/v1/cosidriver/features/_index.md | 4 +- content/v1/cosidriver/features/objectscale.md | 4 +- content/v1/cosidriver/installation/helm.md | 8 +- content/v1/csidriver/_index.md | 20 +- .../operator/operator_migration.md | 4 +- content/v1/observability/_index.md | 28 +-- content/v1/replication/_index.md | 12 +- content/v1/replication/replication-actions.md | 8 +- content/v1/resiliency/_index.md | 16 +- content/v1/secure/encryption/_index.md | 16 +- content/v2/applicationmobility/_index.md | 8 +- content/v2/authorization/_index.md | 20 +- content/v2/cosidriver/_index.md | 16 +- content/v2/cosidriver/features/_index.md | 4 +- content/v2/cosidriver/features/objectscale.md | 4 +- content/v2/cosidriver/installation/helm.md | 8 +- content/v2/csidriver/_index.md | 16 +- content/v2/observability/_index.md | 28 +-- content/v2/replication/_index.md | 12 +- content/v2/replication/replication-actions.md | 8 +- content/v2/resiliency/_index.md | 16 +- content/v2/secure/encryption/_index.md | 16 +- content/v3/applicationmobility/_index.md | 8 +- content/v3/authorization/_index.md | 20 +- content/v3/csidriver/_index.md | 16 +- .../src/static/images/logo.svg | 1 + content/v3/observability/_index.md | 28 +-- content/v3/replication/_index.md | 12 +- content/v3/replication/replication-actions.md | 8 +- content/v3/resiliency/_index.md | 16 +- content/v3/secure/encryption/_index.md | 16 +- 49 files changed, 285 insertions(+), 495 deletions(-) delete mode 100644 content/config.toml create mode 100644 content/v3/deployment/csminstallationwizard/src/static/images/logo.svg diff --git a/content/config.toml b/content/config.toml deleted file mode 100644 index 97ec6ef8e9..0000000000 --- a/content/config.toml +++ /dev/null @@ -1,211 +0,0 @@ -baseURL = "https://dell.github.io/csm-docs/" -title = "Dell Technologies" -canonifyURLs = false - -enableRobotsTXT = true - -staticDir = "static" - -# Will give values to .Lastmod etc. -enableGitInfo = true - -# Language settings -contentDir = "content" -defaultContentLanguage = "en" -#defaultContentLanguageInSubdir = false -# Useful when translating. -enableMissingTranslationPlaceholders = true - -disableKinds = ["taxonomy", "taxonomy", "term"] - -# Highlighting config -pygmentsCodeFences = true -pygmentsUseClasses = false -# Use the new Chroma Go highlighter in Hugo. -pygmentsUseClassic = false -#pygmentsOptions = "linenos=table" -# See https://help.farbox.com/pygments.html -pygmentsStyle = "tango" - -# Configure how URLs look like per section. -[permalinks] -blog = "/:section/:year/:month/:day/:slug/" - -## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday -[blackfriday] -plainIDAnchors = true -hrefTargetBlank = true -angledQuotes = false -latexDashes = true - -# Image processing configuration. -[imaging] -resampleFilter = "CatmullRom" -quality = 75 -anchor = "smart" - -[services] -[services.googleAnalytics] -# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. -#id = "UA-00000000-0" - -# Language configuration - -[languages] -[languages.en.params] -title = "Dell Technologies" -description = "Dell Technologies (Dell) Container Storage Modules documentation pages" -languageName ="English" - -[markup] - [markup.goldmark] - [markup.goldmark.renderer] - unsafe = true - -# Everything below this are Site Params - -[params] -copyright = "The Dell Technologies" -privacy_policy = "https://www.dell.com/learn/us/en/uscorp1/policies-privacy" - -# First one is picked as the Twitter card image if not set on page. -# images = ["images/project-illustration.png"] - -# Menu title if your navbar has a versions selector to access old versions of your site. -# This menu appears only if you have at least one [params.versions] set. -version_menu = "Releases" - -# Flag used in the "version-banner" partial to decide whether to display a -# banner on every page indicating that this is an archived version of the docs. -# Set this flag to "true" if you want to display the banner. -archived_version = false - -# The version number for the version of the docs represented in this doc set. -# Used in the "version-banner" partial to display a version number for the -# current doc set. -version = "0.0" - -# A link to latest version of the docs. Used in the "version-banner" partial to -# point people to the main doc site. -url_latest_version = "https://example.com" - -# Repository configuration (URLs for in-page links to opening issues and suggesting changes) -github_repo = "" -# An optional link to a related project repo. For example, the sibling repository where your product code lives. -#github_project_repo = "https://github.com/google/docsy" - -# Specify a value here if your content directory is not in your repo's root directory -# github_subdir = "" - -# Google Custom Search Engine ID. Remove or comment out to disable search. -#gcs_engine_id = "011737558837375720776:fsdu1nryfng" - -# Enable Algolia DocSearch -algolia_docsearch = false - -# Enable Lunr.js offline search -offlineSearch = true - -# Enable syntax highlighting and copy buttons on code blocks with Prism -prism_syntax_highlighting = true - -# User interface configuration -[params.ui] -# Enable to show the side bar menu in its compact state. -sidebar_menu_compact = true -# Set to true to disable breadcrumb navigation. -breadcrumb_disable = false -# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) -sidebar_search_disable = false -# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar -navbar_logo = true -# Set to true to disable the About link in the site footer -footer_about_disable = false - -# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. -# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. -# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, -# add "hide_feedback: true" to the page's front matter. -[params.ui.feedback] -enable = true -# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). -yes = 'Glad to hear it! Please tell us how we can improve.' -no = 'Sorry to hear that. Please tell us how we can improve.' - -# Adds a reading time to the top of each doc. -# If you want this feature, but occasionally need to remove the Reading time from a single page, -# add "hide_readingtime: true" to the page's front matter -[params.ui.readingtime] -enable = false - -[params.links] -# End user relevant links. These will show up on left side of footer and in the community page if you have one. -#[[params.links.user]] -# name = "User mailing list" -# url = "https://example.org/mail" -# icon = "fa fa-envelope" -# desc = "Discussion and help from your fellow users" -#[[params.links.user]] -# name ="Twitter" -# url = "https://example.org/twitter" -# icon = "fab fa-twitter" -# desc = "Follow us on Twitter to get the latest news!" -#[[params.links.user]] -# name = "Stack Overflow" -# url = "https://example.org/stack" -# icon = "fab fa-stack-overflow" -# desc = "Practical questions and curated answers" -# Developer relevant links. These will show up on right side of footer and in the community page if you have one. -[[params.links.developer]] - name = "GitHub" - url = "https://github.com/dell/csm" - icon = "fab fa-github" - desc = "Development takes place here!" -[[params.links.developer]] - name = "Slack" - url = "http://del.ly/Slack_request" - icon = "fab fa-slack" - desc = "Chat with other project developers" -#[[params.links.developer]] -# name = "Developer mailing list" -# url = "https://example.org/mail" -# icon = "fa fa-envelope" -# desc = "Discuss development issues around the project" -[[params.versions]] - version = "Current(v1.10.2)" - url = "https://dell.github.io/csm-docs/docs/" - -[[params.versions]] - version = "v1.9.4" - url = "https://dell.github.io/csm-docs/v1" - -[[params.versions]] - version = "v1.8.0" - url = "https://dell.github.io/csm-docs/v2" - -[[params.versions]] - version = "v1.7.1" - url = "https://dell.github.io/csm-docs/v3" - -[[menu.main]] - name = "GitHub" - weight = 50 - url = "https://github.com/dell/csm" - -[module] - # uncomment line below for temporary local development of module - # replacements = "github.com/google/docsy -> ../../docsy" - [module.hugoVersion] - extended = true - min = "0.75.0" - [[module.imports]] - path = "github.com/google/docsy" - disable = false - [[module.imports]] - path = "github.com/google/docsy/dependencies" - disable = false - [[module.mounts]] - source = "assets" - target = "assets" - -ignoreFiles = ['^content/docs/deployment/csminstallationwizard/src/index\.html$'] diff --git a/content/docs/applicationmobility/_index.md b/content/docs/applicationmobility/_index.md index 0098667b87..ea727cc4d1 100644 --- a/content/docs/applicationmobility/_index.md +++ b/content/docs/applicationmobility/_index.md @@ -27,8 +27,8 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers - +{{}} | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/docs/authorization/_index.md b/content/docs/authorization/_index.md index 2976360d31..04dc1f89d4 100644 --- a/content/docs/authorization/_index.md +++ b/content/docs/authorization/_index.md @@ -19,13 +19,13 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities - +{{}} | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). diff --git a/content/docs/cosidriver/_index.md b/content/docs/cosidriver/_index.md index aa62c5174f..97c354c9d7 100644 --- a/content/docs/cosidriver/_index.md +++ b/content/docs/cosidriver/_index.md @@ -15,41 +15,41 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi > ℹ️ **NOTE:** during technical preview, no certification is performed. The platforms listed below were tested by developers using integration test suite. - +{{}} | | COSI | |------------|:----------:| | Kubernetes | 1.27 | | K3s | 1.27 | -{.table-sm .table-bordered .table-striped} +{{
}} ### COSI Driver Capabilities - +{{}} | Features | ObjectScale | |------------------------|:-----------:| | Bucket Creation | yes | | Bucket Deletion | yes | | Bucket Access Granting | yes | | Bucket Access Revoking | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Backend Storage Details - +{{}} | Protocol | ObjectScale | |------------|:-----------:| | AWS S3 | yes | | GCS | N/A | | Azure Blob | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | Storage Platform | Versions | |------------------|:--------:| | ObjectScale | 1.2.x | -{.table-sm .table-bordered .table-striped} +{{
}} ## Bucket Lifecycle Workflow diff --git a/content/docs/cosidriver/features/_index.md b/content/docs/cosidriver/features/_index.md index 6b19c1016f..4d1ae6b0af 100644 --- a/content/docs/cosidriver/features/_index.md +++ b/content/docs/cosidriver/features/_index.md @@ -7,7 +7,7 @@ description: Description of COSI Driver features ## ObjectScale - +{{}} | Area | Core Features | Implementation level | Status | Details | |:------------------|:-----------------------|:-----------------------:|:---------------:|---------------------------------------------------------------------------------------------| | Provisioning | _Create Bucket_ | Minimum Viable Product | ✅ Done | Bucket is created using default settings. | @@ -17,4 +17,4 @@ description: Description of COSI Driver features | Access Management | _Grant Bucket Access_ | Minimum Viable Product | ✅ Done | Full access is granted for given bucket. | | | | Advanced permissions | 📝 Design draft | More control over permission is done through BucketAccessClass. | | | _Revoke Bucket Access_ | Minimum Viable Product | ✅ Done | Access is revoked. | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/docs/cosidriver/features/objectscale.md b/content/docs/cosidriver/features/objectscale.md index 3ffc3004c6..3c5b985677 100644 --- a/content/docs/cosidriver/features/objectscale.md +++ b/content/docs/cosidriver/features/objectscale.md @@ -168,7 +168,7 @@ spec: Each bucket is provisioned using default options: - +{{}} | Category | Parameter | Description | Default | |-------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | Policy | | | No policy applied on the bucket. | @@ -190,7 +190,7 @@ Each bucket is provisioned using default options: | Event Rules | Prefix | Event rule are applied for object names with the given prefix. | Off | | Event Rules | Suffix | Event rule are applied for object names with the given suffix. | Off | | Event Rules | Send To | The notification destination used to send notification for selected events. | Off | -{.table-sm .table-bordered .table-striped} +{{
}} ### Kubernetes Administrator Steps diff --git a/content/docs/cosidriver/installation/helm.md b/content/docs/cosidriver/installation/helm.md index bd39ae41d9..a53c3cee0c 100644 --- a/content/docs/cosidriver/installation/helm.md +++ b/content/docs/cosidriver/installation/helm.md @@ -14,12 +14,12 @@ The Helm chart installs the following components in a _Deployment_ in the specif Installing any of the CSI Driver components using Helm requires a few utilities to be installed on the system running the installation. - +{{}} | Dependency | Usage | |------------|----------------------------------------------------------------------------------------------------------------------| | `kubectl` | Kubectl is used to validate that the Kubernetes system meets the requirements of the driver. | | `helm` | Helm v3 is used as the deployment tool for Charts. Go [here](https://helm.sh/docs/intro/install/) to install Helm 3. | -{.table-sm .table-bordered .table-striped} +{{
}} > ℹ️ **NOTE:** > To use these tools, a valid `KUBECONFIG` is required. Ensure that either a valid configuration is in the default location, or, that the `KUBECONFIG` environment variable points to a valid configuration before using these tools. @@ -38,7 +38,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities 5. Edit *my-cosi-values.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the COSI driver Helm chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/master/charts/cosi/values.yaml) file in this repository. - +{{}} | Parameter | Description | Required | Default | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|--------------------------------------------------------------------------------| | provisioner.logLevel | The logging level for the COSI driver provisioner. | yes | `4` | @@ -53,7 +53,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities | configuration.create | Specifies whether a secret with driver configuration should be created If set to false, you must set `configuration.secretName` field to an existing configuration secret name. | yes | `true` | | configuration.secretName | Name can be used to specify an existing secret name to use for the driver configuration or override the generated name. | no | `"cosi-config"` | | configuration.data | Data should be provided when installing chart, it will be used to create the Secret with the driver configuration. `configuration.create` must be set to `true` for this to work. | no | `""` | -{.table-sm .table-bordered .table-striped} +{{
}} > ℹ️ **NOTE:** > - Whenever the *configuration.secretName* parameter changes in *my-cosi-values.yaml* user needs to reinstall the driver. diff --git a/content/docs/csidriver/_index.md b/content/docs/csidriver/_index.md index ce250efb61..3cf82bf341 100644 --- a/content/docs/csidriver/_index.md +++ b/content/docs/csidriver/_index.md @@ -13,7 +13,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ## Features and capabilities ### CSI Driver Capabilities - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.10.1 | 2.10.1 | 2.10.1 | 2.10.1 | 2.10.1 | @@ -33,10 +33,10 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | yes | yes | yes | yes | yes | | Volume Limit | yes | yes | yes | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ### Backend Storage Details - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -49,4 +49,4 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/docs/observability/_index.md b/content/docs/observability/_index.md index 9aec9d6d34..d7ff9b4920 100644 --- a/content/docs/observability/_index.md +++ b/content/docs/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each residing in its own GitHub repository, that can be installed following one of the four deployments we support [here](../deployment/helm/modules/installation/observability/). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. - +{{}} | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each residing in its own | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{.table-sm .table-bordered .table-striped} +{{
}} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: - +{{}} | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,12 +41,12 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: - +{{}} | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -60,19 +60,19 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{.table-sm .table-bordered .table-striped} +{{
}} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](../deployment/helm/modules/installation/observability), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. - +{{}} | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{.table-sm .table-bordered .table-striped} +{{
}} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/docs/prerequisites/_index.md b/content/docs/prerequisites/_index.md index 05a82d80a4..5804616dd4 100644 --- a/content/docs/prerequisites/_index.md +++ b/content/docs/prerequisites/_index.md @@ -7,7 +7,7 @@ weight: 1 ## Supported Storage Platforms - +{{}} | Platform | Version | OS Dependencies | |---------------|:-------------------:|:------------------------:| | PowerMax | PowerMax 2500/8500 PowerMaxOS 10 (6079)
PowerMaxOS 10.0.1 (6079)
PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.711, 5978.714.714
5978.479.479
Unisphere 10.0,10.0.1,10.1 | iscsi-initiator-utils
multipathd or powerpath
nvme-cli
nfs-utils | @@ -16,7 +16,7 @@ weight: 1 | PowerScale | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | nfs-utils | | PowerStore | 3.0, 3.2, 3.5, 3.6 | iscsi-initiator-utils
multipathd
nvme-cli
nfs-utils | | ObjectScale | 1.2.x | - | -{.table-sm .table-bordered .table-striped} +{{
}} > Notes: > * The required OS dependencies are only for the protocol needed (e.g. if NVMe isn't the storage access protocol then nvme-cli is not required).. @@ -24,7 +24,7 @@ weight: 1 ## Supported Container Orchestrator Platforms - +{{}} | Platform | Version | |----------------------------|:----------------:| | Kubernetes | 1.27, 1.28, 1.29 | @@ -33,7 +33,7 @@ weight: 1 | Google Anthos | 1.15 | | Rancher Kubernetes Engine | 1.4.x | | VMware Tanzu | 7.0 | -{.table-sm .table-bordered .table-striped} +{{
}} > Notes: > * Any orchestrator platform or version that's not mentioned here must be self-certified using [Cert-CSI](../support/cert-csi/) in order to be supported. Although not mandatory, we recommend users to use orchestrator platforms and versions that have not met their end of life. @@ -53,7 +53,7 @@ Container Storage Modules (CSM) does not officially support specific operating s ## Supported CSM Modules - +{{}} | CSM Module | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |----------------------------------------|:--------:|:---------:|:--------:|:----------:|:----------:| | [CSM Authorization](../authorization/) | Yes | Yes | No | Yes | No | @@ -64,7 +64,7 @@ Container Storage Modules (CSM) does not officially support specific operating s | [CSM Application Mobility](../applicationmobility/) | Yes | Yes | Yes | Yes | Yes | | [Volume Group Snapshot](../snapshots/volume-group-snapshots/) | No | Yes | No | No | Yes | -{.table-sm .table-bordered .table-striped} +{{
}} > Notes: > * Encryption and Application Mobility are available as a Technical Preview only and are not officially supported. @@ -72,7 +72,7 @@ Container Storage Modules (CSM) does not officially support specific operating s ## CSM Operator compatibility matrix The table below lists the driver and modules versions installable with the CSM Operator: - +{{}} | CSI Driver | Version | CSM Authorization | CSM Replication | CSM Observability | CSM Resiliency | | ------------------ |---------|-------------------|-----------------|-------------------|----------------| | CSI PowerScale | 2.10.1 | ✔ 1.10.1 | ✔ 1.8.1 | ✔ 1.8.1 | ✔ 1.9.1 | @@ -90,4 +90,4 @@ The table below lists the driver and modules versions installable with the CSM O | CSI Unity XT | 2.10.1 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.9.0 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.8.0 | ❌ | ❌ | ❌ | ❌ | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/docs/replication/_index.md b/content/docs/replication/_index.md index d3ae12b467..4156622663 100644 --- a/content/docs/replication/_index.md +++ b/content/docs/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: - +{{}} | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,7 +30,7 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Details diff --git a/content/docs/replication/replication-actions.md b/content/docs/replication/replication-actions.md index c21e44708d..a04244c53c 100644 --- a/content/docs/replication/replication-actions.md +++ b/content/docs/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: - +{{}} | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{.table-sm .table-bordered .table-striped} +{{
}} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: - +{{}} | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{.table-sm .table-bordered .table-striped} +{{
}} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/docs/resiliency/_index.md b/content/docs/resiliency/_index.md index 49316dfd78..78fa586121 100644 --- a/content/docs/resiliency/_index.md +++ b/content/docs/resiliency/_index.md @@ -28,42 +28,42 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: - +{{}} | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5, 3.6 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerFlex Support diff --git a/content/docs/secure/encryption/_index.md b/content/docs/secure/encryption/_index.md index a9d249f955..9a75bacee6 100644 --- a/content/docs/secure/encryption/_index.md +++ b/content/docs/secure/encryption/_index.md @@ -41,7 +41,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities - +{{}} | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -52,7 +52,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Limitations @@ -70,29 +70,29 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.3, 9.4, 9.5.0.5, 9.5.0.6 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.8 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerScale diff --git a/content/docs/support/cert-csi/qualified.md b/content/docs/support/cert-csi/qualified.md index d4d15845f7..48b50e526d 100644 --- a/content/docs/support/cert-csi/qualified.md +++ b/content/docs/support/cert-csi/qualified.md @@ -4,11 +4,11 @@ linktitle: Community Qualified Configurations description: Community Qualified Configurations --- - +{{}} | cert-csi results | OS | CO | Storage Platform | Protocol | CSM | |--------------------------------------------------------|:----------:|:----------------:|:-----------------------:|:---------:|:----------:| | [Ticket 1079](https://github.com/dell/csm/issues/1079) | Debian 10 | K3s v1.24.7+k3s1 | Unity VSA 5.3.1.0.5.008 | iSCSI | CSI v2.8.0 | | [Ticket 1177](https://github.com/dell/csm/issues/1177) | Ubuntu OS 22.04 | Amazon EKS (K8s 1.29) | PowerFlex | SCINI | CSI v2.9.2 | | [Ticket 1361](https://github.com/dell/csm/issues/1361) | RHCOS 4.12 | OpenShift 4.12 | PowerStore | iSCSI| CSI v2.8.0 | | [Ticket 1362](https://github.com/dell/csm/issues/1362) | RHCOS 4.12 | OpenShift 4.12 | PowerScale | NFS | CSI v2.8.0 | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v1/applicationmobility/_index.md b/content/v1/applicationmobility/_index.md index 5394af222d..e49eb68d40 100644 --- a/content/v1/applicationmobility/_index.md +++ b/content/v1/applicationmobility/_index.md @@ -23,16 +23,16 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers - +{{}} | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27. 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v1/authorization/_index.md b/content/v1/authorization/_index.md index 5f0a405ccd..4f9c019f3b 100644 --- a/content/v1/authorization/_index.md +++ b/content/v1/authorization/_index.md @@ -19,41 +19,41 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities - +{{}} | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerMax | PowerFlex | PowerScale | |---------------|:----------------:|:-------------------:|:----------------:| | Storage Array |PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx,
Unisphere 10.0, 10.0.1, 10.1| 3.6.x, 4.0.x, 4.5 | OneFS 9.5.0.x (x >= 5) | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Authorization supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. diff --git a/content/v1/cosidriver/_index.md b/content/v1/cosidriver/_index.md index aa62c5174f..97c354c9d7 100644 --- a/content/v1/cosidriver/_index.md +++ b/content/v1/cosidriver/_index.md @@ -15,41 +15,41 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi > ℹ️ **NOTE:** during technical preview, no certification is performed. The platforms listed below were tested by developers using integration test suite. - +{{}} | | COSI | |------------|:----------:| | Kubernetes | 1.27 | | K3s | 1.27 | -{.table-sm .table-bordered .table-striped} +{{
}} ### COSI Driver Capabilities - +{{}} | Features | ObjectScale | |------------------------|:-----------:| | Bucket Creation | yes | | Bucket Deletion | yes | | Bucket Access Granting | yes | | Bucket Access Revoking | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Backend Storage Details - +{{}} | Protocol | ObjectScale | |------------|:-----------:| | AWS S3 | yes | | GCS | N/A | | Azure Blob | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | Storage Platform | Versions | |------------------|:--------:| | ObjectScale | 1.2.x | -{.table-sm .table-bordered .table-striped} +{{
}} ## Bucket Lifecycle Workflow diff --git a/content/v1/cosidriver/features/_index.md b/content/v1/cosidriver/features/_index.md index 6b19c1016f..4d1ae6b0af 100644 --- a/content/v1/cosidriver/features/_index.md +++ b/content/v1/cosidriver/features/_index.md @@ -7,7 +7,7 @@ description: Description of COSI Driver features ## ObjectScale - +{{}} | Area | Core Features | Implementation level | Status | Details | |:------------------|:-----------------------|:-----------------------:|:---------------:|---------------------------------------------------------------------------------------------| | Provisioning | _Create Bucket_ | Minimum Viable Product | ✅ Done | Bucket is created using default settings. | @@ -17,4 +17,4 @@ description: Description of COSI Driver features | Access Management | _Grant Bucket Access_ | Minimum Viable Product | ✅ Done | Full access is granted for given bucket. | | | | Advanced permissions | 📝 Design draft | More control over permission is done through BucketAccessClass. | | | _Revoke Bucket Access_ | Minimum Viable Product | ✅ Done | Access is revoked. | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v1/cosidriver/features/objectscale.md b/content/v1/cosidriver/features/objectscale.md index 3ffc3004c6..3c5b985677 100644 --- a/content/v1/cosidriver/features/objectscale.md +++ b/content/v1/cosidriver/features/objectscale.md @@ -168,7 +168,7 @@ spec: Each bucket is provisioned using default options: - +{{}} | Category | Parameter | Description | Default | |-------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | Policy | | | No policy applied on the bucket. | @@ -190,7 +190,7 @@ Each bucket is provisioned using default options: | Event Rules | Prefix | Event rule are applied for object names with the given prefix. | Off | | Event Rules | Suffix | Event rule are applied for object names with the given suffix. | Off | | Event Rules | Send To | The notification destination used to send notification for selected events. | Off | -{.table-sm .table-bordered .table-striped} +{{
}} ### Kubernetes Administrator Steps diff --git a/content/v1/cosidriver/installation/helm.md b/content/v1/cosidriver/installation/helm.md index bd39ae41d9..a53c3cee0c 100644 --- a/content/v1/cosidriver/installation/helm.md +++ b/content/v1/cosidriver/installation/helm.md @@ -14,12 +14,12 @@ The Helm chart installs the following components in a _Deployment_ in the specif Installing any of the CSI Driver components using Helm requires a few utilities to be installed on the system running the installation. - +{{}} | Dependency | Usage | |------------|----------------------------------------------------------------------------------------------------------------------| | `kubectl` | Kubectl is used to validate that the Kubernetes system meets the requirements of the driver. | | `helm` | Helm v3 is used as the deployment tool for Charts. Go [here](https://helm.sh/docs/intro/install/) to install Helm 3. | -{.table-sm .table-bordered .table-striped} +{{
}} > ℹ️ **NOTE:** > To use these tools, a valid `KUBECONFIG` is required. Ensure that either a valid configuration is in the default location, or, that the `KUBECONFIG` environment variable points to a valid configuration before using these tools. @@ -38,7 +38,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities 5. Edit *my-cosi-values.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the COSI driver Helm chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/master/charts/cosi/values.yaml) file in this repository. - +{{}} | Parameter | Description | Required | Default | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|--------------------------------------------------------------------------------| | provisioner.logLevel | The logging level for the COSI driver provisioner. | yes | `4` | @@ -53,7 +53,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities | configuration.create | Specifies whether a secret with driver configuration should be created If set to false, you must set `configuration.secretName` field to an existing configuration secret name. | yes | `true` | | configuration.secretName | Name can be used to specify an existing secret name to use for the driver configuration or override the generated name. | no | `"cosi-config"` | | configuration.data | Data should be provided when installing chart, it will be used to create the Secret with the driver configuration. `configuration.create` must be set to `true` for this to work. | no | `""` | -{.table-sm .table-bordered .table-striped} +{{
}} > ℹ️ **NOTE:** > - Whenever the *configuration.secretName* parameter changes in *my-cosi-values.yaml* user needs to reinstall the driver. diff --git a/content/v1/csidriver/_index.md b/content/v1/csidriver/_index.md index ee94a51359..160c0c8a02 100644 --- a/content/v1/csidriver/_index.md +++ b/content/v1/csidriver/_index.md @@ -14,7 +14,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ### Supported Container Orchestrator Platforms - +{{}} | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:| | Kubernetes | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | @@ -25,14 +25,14 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Rancher Kubernetes Engine | 1.4.x| 1.4.x | 1.4.x | 1.4.x | 1.4.x | | Amazon Elastic Kubernetes Service
Anywhere | yes | yes | yes | yes | yes | | OS dependencies | iscsi-initiator-utils
multipathd or powerpath
nvme-cli
nfs-utils | [SDC](https://www.dell.com/support/home/en-us/product-support/product/scaleio/drivers) | iscsi-initiator-utils
multipathd
nfs-utils | nfs-utils | iscsi-initiator-utils
multipathd
nvme-cli
nfs-utils | -{.table-sm .table-bordered .table-striped} +{{
}} > Notes: > * The required OS dependencies are only for the protocol needed (e.g. if NVMe isn't the storage access protocol then nvme-cli is not required). > * The host operating system/version being used must align with what each Dell Storage platform supports. Please visit [E-Lab Navigator](https://elabnavigator.dell.com/eln/modernHomeSSM) for specific Dell Storage platform host operating system level support matrices. ### CSI Driver Capabilities - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.9.1 | 2.9.2 | 2.9.1 | 2.9.1 | 2.9.1 | @@ -52,16 +52,16 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | yes | yes | yes | yes | yes | | Volume Limit | yes | yes | yes | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ### Supported Storage Platforms - +{{}} | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:-------------------------------------------------------:|:----------------:|:--------------------------:|:----------------------------------:|:----------------:| | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1,10.1 | 3.6.x, 4.0.x, 4.5.x | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5 | -{.table-sm .table-bordered .table-striped} +{{
}} ### Backend Storage Details - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -74,12 +74,12 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} ### Community Qualified Platforms - +{{}} | cert-csi results | OS | CO | Storage Platform | Protocol | CSM | |--------------------------------------------------------|:----------:|:----------------:|:-----------------------:|:---------:|:----------:| | [Ticket 1079](https://github.com/dell/csm/issues/1079) | Debian 10 | K3s v1.24.7+k3s1 | Unity VSA 5.3.1.0.5.008 | iSCSI | CSI v1.8.0 | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v1/csidriver/installation/operator/operator_migration.md b/content/v1/csidriver/installation/operator/operator_migration.md index 8b0965ee99..2e8732c34a 100644 --- a/content/v1/csidriver/installation/operator/operator_migration.md +++ b/content/v1/csidriver/installation/operator/operator_migration.md @@ -6,7 +6,7 @@ description: > ## CR Sample Files - +{{}} | | CSI Operator | CSM Operator | |------------|:----------:|:----------:| | PowerScale | [isilon_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/isilon_v270_k8s_127.yaml) | [storage_csm_powerscale_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerscale_v290.yaml) | @@ -14,7 +14,7 @@ description: > | PowerStore | [powerstore_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/powerstore_v270_k8s_127.yaml) | [storage_csm_powerstore_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerstore_v290.yaml) | | Unity XT | [unity_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/unity_v270_k8s_127.yaml) | [storage_csm_unity_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_unity_v290.yaml) | | PowerFlex | [vxflex_v270_k8s_127.yaml](https://github.com/dell/dell-csi-operator/blob/main/samples/vxflex_v270_k8s_127.yaml) | [storage_csm_powerflex_v290.yaml](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerflex_v290.yaml) | -{.table-sm .table-bordered .table-striped} +{{
}} >NOTE: Sample files refer to the latest version for each platform. If you do not want to upgrade, please find your preferred version in the [csm-operator repository](https://github.com/dell/csm-operator/blob/main/samples). ## Migration Steps diff --git a/content/v1/observability/_index.md b/content/v1/observability/_index.md index 54c526167e..2eb49c6898 100644 --- a/content/v1/observability/_index.md +++ b/content/v1/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each residing in its own GitHub repository, that can be installed following one of the four deployments we support [here](deployment). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. - +{{}} | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each residing in its own | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{.table-sm .table-bordered .table-striped} +{{
}} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: - +{{}} | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,42 +41,42 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | | Rancher Kubernetes Engine | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | PowerStore | PowerScale | PowerMax | |---------------|:-------------------:|:----------------:|:----------------:|:----------------:| | Storage Array | 3.6.x, 4.0.x, 4.5 | 3.0, 3.2, 3.5 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | PowerMax 2000/8000
PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0, 10.0.1, 10.1 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Observability supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.5 + | -{.table-sm .table-bordered .table-striped} +{{
}} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: - +{{}} | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -90,19 +90,19 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{.table-sm .table-bordered .table-striped} +{{
}} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](./deployment), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. - +{{}} | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{.table-sm .table-bordered .table-striped} +{{
}} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/v1/replication/_index.md b/content/v1/replication/_index.md index ae89251f47..a0ff4dd4e6 100644 --- a/content/v1/replication/_index.md +++ b/content/v1/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: - +{{}} | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,24 +30,24 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | PowerMax | PowerStore | PowerScale | PowerFlex | | ----------------- | ---------------- | ---------------- | ---------------- | ---------------- | | Kubernetes | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | 4.13, 4.14 | 4.13, 4.14 | 4.13, 4.14 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------- | :------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :-------: | | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079) , PowerMaxOS 10.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1,10.1 | 3.0, 3.2, 3.5 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.6.x, 4.0.x, 4.5 | -{.table-sm .table-bordered .table-striped} +{{
}} >Note: File Replication for PowerMax is currently not supported diff --git a/content/v1/replication/replication-actions.md b/content/v1/replication/replication-actions.md index c21e44708d..a04244c53c 100644 --- a/content/v1/replication/replication-actions.md +++ b/content/v1/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: - +{{}} | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{.table-sm .table-bordered .table-striped} +{{
}} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: - +{{}} | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{.table-sm .table-bordered .table-striped} +{{
}} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/v1/resiliency/_index.md b/content/v1/resiliency/_index.md index 4aa8953904..52711c75c6 100644 --- a/content/v1/resiliency/_index.md +++ b/content/v1/resiliency/_index.md @@ -28,42 +28,42 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: - +{{}} | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 9.3, 9.4, 9.5.0.x (x >= 5) | 3.0, 3.2, 3.5 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerFlex Support diff --git a/content/v1/secure/encryption/_index.md b/content/v1/secure/encryption/_index.md index 8d0c27c1b8..08b70aec88 100644 --- a/content/v1/secure/encryption/_index.md +++ b/content/v1/secure/encryption/_index.md @@ -39,7 +39,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities - +{{}} | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -50,7 +50,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Limitations @@ -68,29 +68,29 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.26, 1.27, 1.28 | | Red Hat OpenShift | 4.13, 4.14 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.3, 9.4, 9.5.0.5, 9.5.0.6 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.8 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerScale diff --git a/content/v2/applicationmobility/_index.md b/content/v2/applicationmobility/_index.md index c5efead306..0590ed214a 100644 --- a/content/v2/applicationmobility/_index.md +++ b/content/v2/applicationmobility/_index.md @@ -23,18 +23,18 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers - +{{}} | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.23, 1.24, 1.25, 1.26 | | Red Hat OpenShift | 4.10, 4.11 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v2/authorization/_index.md b/content/v2/authorization/_index.md index 6b75fc7134..f11031b38e 100644 --- a/content/v2/authorization/_index.md +++ b/content/v2/authorization/_index.md @@ -19,43 +19,43 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities - +{{}} | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerMax | PowerFlex | PowerScale | |---------------|:----------------:|:-------------------:|:----------------:| | Storage Array |PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx,
Unisphere 10.0, 10.0.1| 3.5.x, 3.6.x | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Authorization supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. @@ -63,7 +63,7 @@ To resolve this, please refer to our [troubleshooting guide](./troubleshooting) ## Authorization Components Support Matrix CSM for Authorization consists of 2 components - the Authorization sidecar and the Authorization proxy server. It is important that the version of the Authorization sidecar image maps to a supported version of the Authorization proxy server. - +{{}} | Authorization Sidecar Image Tag | Authorization Proxy Server Version | | ------------------------------- | ---------------------------------- | | dellemc/csm-authorization-sidecar:v1.0.0 | v1.0.0, v1.1.0 | @@ -75,7 +75,7 @@ CSM for Authorization consists of 2 components - the Authorization sidecar and t | dellemc/csm-authorization-sidecar:v1.6.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0 | | dellemc/csm-authorization-sidecar:v1.7.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0, v1.7.0 | | dellemc/csm-authorization-sidecar:v1.8.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0, v1.7.0, v1.8.0 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Roles and Responsibilities The CSM for Authorization CLI can be executed in the context of the following roles: diff --git a/content/v2/cosidriver/_index.md b/content/v2/cosidriver/_index.md index aa62c5174f..97c354c9d7 100644 --- a/content/v2/cosidriver/_index.md +++ b/content/v2/cosidriver/_index.md @@ -15,41 +15,41 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi > ℹ️ **NOTE:** during technical preview, no certification is performed. The platforms listed below were tested by developers using integration test suite. - +{{}} | | COSI | |------------|:----------:| | Kubernetes | 1.27 | | K3s | 1.27 | -{.table-sm .table-bordered .table-striped} +{{
}} ### COSI Driver Capabilities - +{{}} | Features | ObjectScale | |------------------------|:-----------:| | Bucket Creation | yes | | Bucket Deletion | yes | | Bucket Access Granting | yes | | Bucket Access Revoking | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Backend Storage Details - +{{}} | Protocol | ObjectScale | |------------|:-----------:| | AWS S3 | yes | | GCS | N/A | | Azure Blob | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | Storage Platform | Versions | |------------------|:--------:| | ObjectScale | 1.2.x | -{.table-sm .table-bordered .table-striped} +{{
}} ## Bucket Lifecycle Workflow diff --git a/content/v2/cosidriver/features/_index.md b/content/v2/cosidriver/features/_index.md index 6b19c1016f..4d1ae6b0af 100644 --- a/content/v2/cosidriver/features/_index.md +++ b/content/v2/cosidriver/features/_index.md @@ -7,7 +7,7 @@ description: Description of COSI Driver features ## ObjectScale - +{{}} | Area | Core Features | Implementation level | Status | Details | |:------------------|:-----------------------|:-----------------------:|:---------------:|---------------------------------------------------------------------------------------------| | Provisioning | _Create Bucket_ | Minimum Viable Product | ✅ Done | Bucket is created using default settings. | @@ -17,4 +17,4 @@ description: Description of COSI Driver features | Access Management | _Grant Bucket Access_ | Minimum Viable Product | ✅ Done | Full access is granted for given bucket. | | | | Advanced permissions | 📝 Design draft | More control over permission is done through BucketAccessClass. | | | _Revoke Bucket Access_ | Minimum Viable Product | ✅ Done | Access is revoked. | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v2/cosidriver/features/objectscale.md b/content/v2/cosidriver/features/objectscale.md index 8f9f3226cb..8fbaf5fd33 100644 --- a/content/v2/cosidriver/features/objectscale.md +++ b/content/v2/cosidriver/features/objectscale.md @@ -173,7 +173,7 @@ spec: Each bucket is provisioned using default options: - +{{}} | Category | Parameter | Description | Default | |-------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | Policy | | | No policy applied on the bucket. | @@ -195,7 +195,7 @@ Each bucket is provisioned using default options: | Event Rules | Prefix | Event rule are applied for object names with the given prefix. | Off | | Event Rules | Suffix | Event rule are applied for object names with the given suffix. | Off | | Event Rules | Send To | The notification destination used to send notification for selected events. | Off | -{.table-sm .table-bordered .table-striped} +{{
}} ### Kubernetes Administrator Steps diff --git a/content/v2/cosidriver/installation/helm.md b/content/v2/cosidriver/installation/helm.md index 69415dd77f..13c0f1486d 100644 --- a/content/v2/cosidriver/installation/helm.md +++ b/content/v2/cosidriver/installation/helm.md @@ -18,12 +18,12 @@ The Helm chart installs the following components in a _Deployment_ in the specif Installing any of the CSI Driver components using Helm requires a few utilities to be installed on the system running the installation. - +{{}} | Dependency | Usage | |------------|----------------------------------------------------------------------------------------------------------------------| | `kubectl` | Kubectl is used to validate that the Kubernetes system meets the requirements of the driver. | | `helm` | Helm v3 is used as the deployment tool for Charts. Go [here](https://helm.sh/docs/intro/install/) to install Helm 3. | -{.table-sm .table-bordered .table-striped} +{{
}} > ℹ️ **NOTE:** > To use these tools, a valid `KUBECONFIG` is required. Ensure that either a valid configuration is in the default location, or, that the `KUBECONFIG` environment variable points to a valid configuration before using these tools. @@ -42,7 +42,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities 5. Edit *my-cosi-values.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the COSI driver Helm chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/master/charts/cosi/values.yaml) file in this repository. - +{{}} | Parameter | Description | Required | Default | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|--------------------------------------------------------------------------------| | provisioner.logLevel | The logging level for the COSI driver provisioner. | yes | `4` | @@ -57,7 +57,7 @@ Installing any of the CSI Driver components using Helm requires a few utilities | configuration.create | Specifies whether a secret with driver configuration should be created If set to false, you must set `configuration.secretName` field to an existing configuration secret name. | yes | `true` | | configuration.secretName | Name can be used to specify an existing secret name to use for the driver configuration or override the generated name. | no | `"cosi-config"` | | configuration.data | Data should be provided when installing chart, it will be used to create the Secret with the driver configuration. `configuration.create` must be set to `true` for this to work. | no | `""` | -{.table-sm .table-bordered .table-striped} +{{
}} > ℹ️ **NOTE:** > - Whenever the *configuration.secretName* parameter changes in *my-cosi-values.yaml* user needs to reinstall the driver. diff --git a/content/v2/csidriver/_index.md b/content/v2/csidriver/_index.md index 6966086b29..bdcce5bc69 100644 --- a/content/v2/csidriver/_index.md +++ b/content/v2/csidriver/_index.md @@ -14,7 +14,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ### Supported Operating Systems/Container Orchestrator Platforms - +{{}} | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:| | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -29,10 +29,10 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Rancher Kubernetes Engine | 1.4.1| 1.4.7 | 1.4.8 | 1.4.7 | 1.4.5 | | Amazon Elastic Kubernetes Service
Anywhere | yes | yes | yes | yes | yes | | Kubernetes K3s Engine on Debian OS | no | no | 1.26, 1.27 | no | no | -{.table-sm .table-bordered .table-striped} +{{
}} ### CSI Driver Capabilities - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | @@ -52,20 +52,20 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | yes | yes | yes | yes | yes | | Volume Limit | yes | yes | yes | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ### Supported Storage Platforms - +{{}} | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:-------------------------------------------------------:|:----------------:|:--------------------------:|:----------------------------------:|:----------------:| | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 3.5.x, 3.6.x, 4.0.x, 4.5 | 5.1.x, 5.2.x, 5.3.0 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5.0.5, 9.5.0.6 | 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | -{.table-sm .table-bordered .table-striped} +{{
}} >Note: To connect to a PowerFlex 4.5 array, the SDC image will need to be changed to dellemc/sdc:4.5. >- If using helm to install, you will need to make this change in your values.yaml file. See [helm install documentation](https://dell.github.io/csm-docs/docs/deployment/helm/drivers/installation/powerflex/) for details. >- If using CSM-Operator to install, you will need to make this change in your samples file. See [operator install documentation](https://dell.github.io/csm-docs/docs/deployment/csmoperator/drivers/powerflex/) for details. ### Backend Storage Details - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -78,4 +78,4 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v2/observability/_index.md b/content/v2/observability/_index.md index 46d2c21122..9ec7f191ba 100644 --- a/content/v2/observability/_index.md +++ b/content/v2/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each residing in its own GitHub repository, that can be installed following one of the four deployments we support [here](deployment). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. - +{{}} | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each residing in its own | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{.table-sm .table-bordered .table-striped} +{{
}} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: - +{{}} | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,11 +41,11 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | @@ -53,32 +53,32 @@ CSM for Observability provides the following capabilities: | Rancher Kubernetes Engine | yes | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | PowerStore | PowerScale | PowerMax | |---------------|:-------------------:|:----------------:|:----------------:|:----------------:| | Storage Array | 3.5.x, 3.6.x, 4.0 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5 | PowerMax 2000/8000
PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0, 10.0.1 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Observability supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.5 + | -{.table-sm .table-bordered .table-striped} +{{
}} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: - +{{}} | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -92,19 +92,19 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{.table-sm .table-bordered .table-striped} +{{
}} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](./deployment), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. - +{{}} | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{.table-sm .table-bordered .table-striped} +{{
}} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/v2/replication/_index.md b/content/v2/replication/_index.md index 497ee5fc57..e42b46366e 100644 --- a/content/v2/replication/_index.md +++ b/content/v2/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: - +{{}} | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,11 +30,11 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | PowerMax | PowerStore | PowerScale | PowerFlex | | ----------------- | ---------------- | ---------------- | ---------------- | ---------------- | | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -43,15 +43,15 @@ CSM for Replication provides the following capabilities: | CentOS | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | | Ubuntu | 20.04 | 20.04 | 20.04 | 20.04 | | SLES | 15SP4 | 15SP2 | 15SP2 | 15SP3 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------- | :------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :-------: | | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 1.0.x,
2.0.x, 2.1.x,
3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5 | 3.6.x, 4.0| -{.table-sm .table-bordered .table-striped} +{{
}} >Note: File Replication for PowerMax is currently not supported diff --git a/content/v2/replication/replication-actions.md b/content/v2/replication/replication-actions.md index c21e44708d..a04244c53c 100644 --- a/content/v2/replication/replication-actions.md +++ b/content/v2/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: - +{{}} | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{.table-sm .table-bordered .table-striped} +{{
}} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: - +{{}} | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{.table-sm .table-bordered .table-striped} +{{
}} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/v2/resiliency/_index.md b/content/v2/resiliency/_index.md index 2acfacc3fa..4ad6bb981f 100644 --- a/content/v2/resiliency/_index.md +++ b/content/v2/resiliency/_index.md @@ -28,44 +28,44 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: - +{{}} | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.25, 1.26, 1.27 | | Red Hat OpenShift | 4.11, 4.12, 4.13 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.5.x, 3.6.x | 5.0.5, 5.0.6, 5.0.7, 5.1.0, 5.1.2, 5.2, 5.3 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerFlex Support diff --git a/content/v2/secure/encryption/_index.md b/content/v2/secure/encryption/_index.md index 7056547a65..10c87f0ef2 100644 --- a/content/v2/secure/encryption/_index.md +++ b/content/v2/secure/encryption/_index.md @@ -36,7 +36,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities - +{{}} | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -47,7 +47,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Limitations @@ -65,7 +65,7 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.24, 1.25, 1.26 | @@ -73,24 +73,24 @@ the CSI driver must be restarted to pick up the change. | RHEL | 7.9, 8.4 | | Ubuntu | 18.04, 20.04 | | SLES | 15SP2 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.0 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.4 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerScale diff --git a/content/v3/applicationmobility/_index.md b/content/v3/applicationmobility/_index.md index c5efead306..0590ed214a 100644 --- a/content/v3/applicationmobility/_index.md +++ b/content/v3/applicationmobility/_index.md @@ -23,18 +23,18 @@ After a backup has been created, it can be restored on the same Kubernetes clust - Storage Class is defined on the target cluster(s) to support creating the required Persistent Volumes used by the application. ## Supported Data Movers - +{{}} | Data Mover | Description | |-|-| | Restic | Persistent Volume data will be stored in the provided object store bucket | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.23, 1.24, 1.25, 1.26 | | Red Hat OpenShift | 4.10, 4.11 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v3/authorization/_index.md b/content/v3/authorization/_index.md index c7aff34bb1..6efb28f95f 100644 --- a/content/v3/authorization/_index.md +++ b/content/v3/authorization/_index.md @@ -19,43 +19,43 @@ The following diagram shows a high-level overview of CSM for Authorization with ![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") ## CSM for Authorization Capabilities - +{{}} | Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | | - | - | - | - | - | - | | Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | | Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | | Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerMax | PowerFlex | PowerScale | |---------------|:----------------:|:-------------------:|:----------------:| | Storage Array |PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx,
Unisphere 10.0, 10.0.1| 3.5.x, 3.6.x | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Authorization supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} **NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. @@ -63,7 +63,7 @@ To resolve this, please refer to our [troubleshooting guide](./troubleshooting) ## Authorization Components Support Matrix CSM for Authorization consists of 2 components - the Authorization sidecar and the Authorization proxy server. It is important that the version of the Authorization sidecar image maps to a supported version of the Authorization proxy server. - +{{}} | Authorization Sidecar Image Tag | Authorization Proxy Server Version | | ------------------------------- | ---------------------------------- | | dellemc/csm-authorization-sidecar:v1.0.0 | v1.0.0, v1.1.0 | @@ -74,7 +74,7 @@ CSM for Authorization consists of 2 components - the Authorization sidecar and t | dellemc/csm-authorization-sidecar:v1.5.1 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1 | | dellemc/csm-authorization-sidecar:v1.6.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0 | | dellemc/csm-authorization-sidecar:v1.7.0 | v1.1.0, v1.2.0, v1.3.0, v1.4.0, v1.5.0, v1.5.1, v1.6.0, v1.7.0 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Roles and Responsibilities The CSM for Authorization CLI can be executed in the context of the following roles: diff --git a/content/v3/csidriver/_index.md b/content/v3/csidriver/_index.md index 9b0286ae66..9989f6363e 100644 --- a/content/v3/csidriver/_index.md +++ b/content/v3/csidriver/_index.md @@ -13,7 +13,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- ## Features and capabilities ### Supported Operating Systems/Container Orchestrator Platforms - +{{}} | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:| | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -28,10 +28,10 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Rancher Kubernetes Engine | 1.4.1 | 1.4.1 | 1.4.5 | 1.4.1 | 1.4.5 | | Amazon Elastic Kubernetes Service
Anywhere | yes | yes | yes | yes | yes | | Kubernetes K3s Engine on Debian OS | no | no | 1.25, 1.26, 1.27 | no | no | -{.table-sm .table-bordered .table-striped} +{{
}} ### CSI Driver Capabilities - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| | CSI Driver version | 2.7.0 | 2.7.1 | 2.7.0 | 2.7.0 | 2.7.0 | @@ -49,15 +49,15 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Multi-array | yes | yes | yes | yes | yes | | Volume Health Monitoring | yes | yes | yes | yes | yes | | Storage Capacity Tracking | no | no | no | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ### Supported Storage Platforms - +{{}} | | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:-------------------------------------------------------:|:----------------:|:--------------------------:|:----------------------------------:|:----------------:| | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 3.5.x, 3.6.x, 4.0 | 5.1.x, 5.2.x, 5.3.0 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | -{.table-sm .table-bordered .table-striped} +{{
}} ### Backend Storage Details - +{{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | @@ -70,4 +70,4 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Thin / Thick provisioning | Thin | Thin | Thin/Thick | N/A | Thin | | Platform-specific configurable settings | Service Level selection
iSCSI CHAP | - | Host IO Limit
Tiering Policy
NFS Host IO size
Snapshot Retention duration | Access Zone
NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | -{.table-sm .table-bordered .table-striped} +{{
}} diff --git a/content/v3/deployment/csminstallationwizard/src/static/images/logo.svg b/content/v3/deployment/csminstallationwizard/src/static/images/logo.svg new file mode 100644 index 0000000000..7918fba9fa --- /dev/null +++ b/content/v3/deployment/csminstallationwizard/src/static/images/logo.svg @@ -0,0 +1 @@ +DellTech_Logo_Prm_Wht_rgb \ No newline at end of file diff --git a/content/v3/observability/_index.md b/content/v3/observability/_index.md index c1bbfa19cf..e2bf91d8ca 100644 --- a/content/v3/observability/_index.md +++ b/content/v3/observability/_index.md @@ -16,7 +16,7 @@ Metrics data is collected and pushed to the [OpenTelemetry Collector](https://gi CSM for Observability is composed of several services, each living in its own GitHub repository, that can be installed following one of the four deployments we support [here](deployment). Contributions can be made to this repository or any of the CSM for Observability repositories listed below. - +{{}} | Name | Repository | Description | | ---- | --------- | ----------- | | Metrics for PowerFlex | [CSM Metrics for PowerFlex](https://github.com/dell/karavi-metrics-powerflex) | Metrics for PowerFlex captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerFlex. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | @@ -24,13 +24,13 @@ CSM for Observability is composed of several services, each living in its own Gi | Metrics for PowerScale | [CSM Metrics for PowerScale](https://github.com/dell/csm-metrics-powerscale) | Metrics for PowerScale captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerScale. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Metrics for PowerMax | [CSM Metrics for PowerMax](https://github.com/dell/csm-metrics-powermax) | Metrics for PowerMax captures telemetry data about Kubernetes storage usage and performance obtained through the CSI (Container Storage Interface) Driver for Dell PowerMax. The metrics service pushes it to the OpenTelemetry Collector, so it can be processed, and exported in a format consumable by Prometheus. Prometheus can then be configured to scrape the OpenTelemetry Collector exporter endpoint to provide metrics, so they can be visualized in Grafana. Please visit the repository for more information. | | Volume Topology | [CSM Topology](https://github.com/dell/karavi-topology) | Topology provides Kubernetes administrators with the topology data related to containerized storage that is provisioned by a CSI (Container Storage Interface) Driver for Dell storage products. The Topology service is enabled by default as part of the CSM for Observability Helm Chart [values file](https://github.com/dell/helm-charts/blob/main/charts/karavi-observability/values.yaml). Please visit the repository for more information. | -{.table-sm .table-bordered .table-striped} +{{
}} ## CSM for Observability Capabilities CSM for Observability provides the following capabilities: - +{{}} | Capability | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | | - | :-: | :-: | :-: | :-: | :-: | | Collect and expose Volume Metrics via the OpenTelemetry Collector | yes | yes | no | yes | yes | @@ -41,11 +41,11 @@ CSM for Observability provides the following capabilities: | Non-disruptive config changes | yes | yes | no | yes | yes | | Non-disruptive log level changes | yes | yes | no | yes | yes | | Grafana Dashboards for displaying metrics and topology data | yes | yes | no | yes | yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.25, 1.26, 1.27 | @@ -53,32 +53,32 @@ CSM for Observability provides the following capabilities: | Rancher Kubernetes Engine | yes | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | PowerStore | PowerScale | PowerMax | |---------------|:-------------------:|:----------------:|:----------------:|:----------------:| | Storage Array | 3.5.x, 3.6.x, 4.0 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | PowerMax 2000/8000
PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0, 10.0.1 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Observability supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.0 + | | CSI Driver for Dell PowerMax | [csi-powermax](https://github.com/dell/csi-powermax) | v2.5 + | -{.table-sm .table-bordered .table-striped} +{{
}} ## Topology Data CSM for Observability provides Kubernetes administrators with the topology data related to containerized storage. This topology data is visualized using Grafana: - +{{}} | Field | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Namespace | The namespace associated with the persistent volume claim | @@ -92,18 +92,18 @@ CSM for Observability provides Kubernetes administrators with the topology data | Protocol | The storage system protocol type the volume/storage class is associated with | | Storage Pool | The storage pool name the volume/storage class is associated with | | Storage System Volume Name | The name of the volume on the storage system that is associated with the persistent volume | -{.table-sm .table-bordered .table-striped} +{{
}} ## TLS Encryption CSM for Observability deployment relies on [cert-manager](https://github.com/jetstack/cert-manager) to manage SSL certificates that are used to encrypt communication between various components. When [deploying CSM for Observability](./deployment), cert-manager is installed and configured automatically. The cert-manager components listed below will be installed alongside CSM for Observability. - +{{}} | Component | | --------- | | cert-manager | | cert-manager-cainjector | | cert-manager-webhook | -{.table-sm .table-bordered .table-striped} +{{
}} If desired you may provide your own certificate key pair to be used inside the cluster by providing the path to the certificate and key in the Helm chart config. If you do not provide a certificate, one will be generated for you on installation. > __NOTE__: The certificate provided must be a CA certificate. This is to facilitate automated certificate rotation. diff --git a/content/v3/replication/_index.md b/content/v3/replication/_index.md index d2f1c7f1db..b6debeaa27 100644 --- a/content/v3/replication/_index.md +++ b/content/v3/replication/_index.md @@ -15,7 +15,7 @@ applications in case of both planned and unplanned migration. CSM for Replication provides the following capabilities: - +{{}} | Capability | PowerMax | PowerStore | PowerScale | PowerFlex | Unity | | ----------------------------------------------------------------------------------------------------------------------------------- | :------: | :--------: | :--------: | :-------: | :---: | | Replicate data using native storage array based replication | yes | yes | yes | yes | no | @@ -30,12 +30,12 @@ CSM for Replication provides the following capabilities: | Failover & Reprotect applications using the replicated volumes | yes | yes | yes | yes | no | | Online Volume Expansion for replicated volumes | yes | no | no | yes | no | | Provides a command line utility - [repctl](tools) for configuring & managing replication related resources across multiple clusters | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | PowerMax | PowerStore | PowerScale | PowerFlex | | ----------------- | ---------------- | ---------------- | ---------------- | ---------------- | | Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | @@ -44,15 +44,15 @@ CSM for Replication provides the following capabilities: | CentOS | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | 7.8, 7.9 | | Ubuntu | 20.04 | 20.04 | 20.04 | 20.04 | | SLES | 15SP4 | 15SP2 | 15SP2 | 15SP3 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------- | :------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------------------------------------------: | :-------: | | Storage Array | PowerMax 2500/8500 PowerMaxOS 10 (6079) , PowerMaxOS 10.0.1 (6079)
PowerMax 2000/8000 - 5978.711.xxx, 5978.479.xxx
Unisphere 10.0,10.0.1 | 1.0.x,
2.0.x, 2.1.x,
3.0, 3.2, 3.5 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 3.6.x, 4.0| -{.table-sm .table-bordered .table-striped} +{{
}} ## Details diff --git a/content/v3/replication/replication-actions.md b/content/v3/replication/replication-actions.md index c21e44708d..a04244c53c 100644 --- a/content/v3/replication/replication-actions.md +++ b/content/v3/replication/replication-actions.md @@ -33,25 +33,25 @@ For example: The following table lists details of what actions should be used in different Disaster Recovery workflows & the equivalent operation done on the storage array: - +{{}} | Workflow | Actions | PowerMax | PowerStore | PowerScale | PowerFlex | | ------------------- | ----------------------------------------------------- | ---------------------- | -------------------------------------- | ------------------------------------------------ | -------------------------------------- | | Planned Migration | FAILOVER_LOCAL
FAILOVER_REMOTE | symrdf failover -swap | FAILOVER (no REPROTECT after FAILOVER) | allow_writes on target, disable local policy | FAILOVER (no REPROTECT after FAILOVER) | | Reprotect | REPROTECT_LOCAL
REPROTECT_REMOTE | symrdf resume/est | REPROTECT | Delete policy on source, create policy on target | REPROTECT | | Unplanned Migration | UNPLANNED_FAILOVER_LOCAL
UNPLANNED_FAILOVER_REMOTE | symrdf failover -force | FAILOVER (at target site) | allow_writes on target | FAILOVER (at target site) | -{.table-sm .table-bordered .table-striped} +{{
}} ### Maintenance Actions These actions can be run at any site and are used to change the replication link state for maintenance activities. The following table lists the supported maintenance actions and the equivalent operation done on the storage arrays: - +{{}} | Action | Description | PowerMax | PowerStore | PowerScale | PowerFlex | | ------- | -------------------------------------------------- | ---------------- | --------------- | -------------------- | --------- | | SUSPEND | Temporarily suspend
replication | symrdf suspend | PAUSE | disable local policy | PAUSE | | RESUME | Resume replication | symrdf resume | RESUME | enable local policy | RESUME | | SYNC | Synchronize all changes
from source to target | symrdf establish | SYNCHRONIZE NOW | start syncIQ job | SYNC NOW | -{.table-sm .table-bordered .table-striped} +{{
}} ### How to perform actions We strongly recommend using `repctl` to perform any actions on `DellCSIReplicationGroup` objects. You can find detailed steps [here](../tools/#executing-actions). diff --git a/content/v3/resiliency/_index.md b/content/v3/resiliency/_index.md index e7f3671ee2..6f248ab1eb 100644 --- a/content/v3/resiliency/_index.md +++ b/content/v3/resiliency/_index.md @@ -28,44 +28,44 @@ Accordingly, CSM for Resiliency is adapted to and qualified with each CSI driver CSM for Resiliency provides the following capabilities: - +{{}} | Capability | PowerScale | Unity XT | PowerStore | PowerFlex | PowerMax | | --------------------------------------- | :--------: | :------: | :--------: | :-------: | :------: | | Detect pod failures when: Node failure, K8S Control Plane Network failure, K8S Control Plane failure, Array I/O Network failure | yes | yes | yes | yes | no | | Cleanup pod artifacts from failed nodes | yes | yes | yes | yes | no | | Revoke PV access from failed nodes | yes | yes | yes | yes | no | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | | ----------------- | :----------------: | | Kubernetes | 1.25, 1.26, 1.27 | | Red Hat OpenShift | 4.11, 4.12 | | RHEL | 7.x, 8.x | | CentOS | 7.8, 7.9 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerFlex | Unity XT | PowerScale | PowerStore | | ------------- | :----------: | :-------------------------------: | :-------------------------------------: | :---------------------------: | | Storage Array | 3.5.x, 3.6.x | 5.0.5, 5.0.6, 5.0.7, 5.1.0, 5.1.2, 5.2, 5.3 | OneFS 8.1, 8.2, 9.0, 9.1, 9.2, 9.3, 9.4 | 1.0.x, 2.0.x, 2.1.x, 3.0, 3.2 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers CSM for Resiliency supports the following CSI drivers and versions. - +{{}} | Storage Array | CSI Driver | Supported Versions | | --------------------------------- | :----------: | :----------------: | | CSI Driver for Dell PowerFlex | [csi-powerflex](https://github.com/dell/csi-powerflex) | v2.0.0 + | | CSI Driver for Dell Unity XT | [csi-unity](https://github.com/dell/csi-unity) | v2.0.0 + | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.3.0 + | | CSI Driver for Dell PowerStore | [csi-powerstore](https://github.com/dell/csi-powerstore) | v2.6.0 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerFlex Support diff --git a/content/v3/secure/encryption/_index.md b/content/v3/secure/encryption/_index.md index 7056547a65..10c87f0ef2 100644 --- a/content/v3/secure/encryption/_index.md +++ b/content/v3/secure/encryption/_index.md @@ -36,7 +36,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. ## Capabilities - +{{}} | Feature | PowerScale | | ------- | ---------- | | Dynamic provisionings of new volumes | Yes | @@ -47,7 +47,7 @@ This provisioner belongs to Encryption and registers with the name [`encryption. | Volume expansion | Yes | | Encrypted volume unlocking in a different cluster | Yes | | User file and directory names encryption | Yes | -{.table-sm .table-bordered .table-striped} +{{
}} ## Limitations @@ -65,7 +65,7 @@ the CSI driver must be restarted to pick up the change. ## Supported Operating Systems/Container Orchestrator Platforms - +{{}} | COP/OS | Supported Versions | |-|-| | Kubernetes | 1.24, 1.25, 1.26 | @@ -73,24 +73,24 @@ the CSI driver must be restarted to pick up the change. | RHEL | 7.9, 8.4 | | Ubuntu | 18.04, 20.04 | | SLES | 15SP2 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported Storage Platforms - +{{}} | | PowerScale | | ------------- | ---------- | | Storage Array | OneFS 9.0 | -{.table-sm .table-bordered .table-striped} +{{
}} ## Supported CSI Drivers Encryption supports these CSI drivers and versions: - +{{}} | Storage Array | CSI Driver | Supported Versions | | ------------- | ---------- | ------------------ | | CSI Driver for Dell PowerScale | [csi-powerscale](https://github.com/dell/csi-powerscale) | v2.4 + | -{.table-sm .table-bordered .table-striped} +{{
}} ### PowerScale From f415585bf530eb5a3ff3b4848e02eb8a65acebb4 Mon Sep 17 00:00:00 2001 From: Wilson Radadia Date: Mon, 29 Jul 2024 16:44:20 +0530 Subject: [PATCH 4/8] Fix for the issues: Tabpane, favicons and anchor link --- content/docs/support/cert-csi/_index.md | 151 ++++++---------- .../v1/csidriver/installation/test/certcsi.md | 163 ++++++++---------- layouts/_default/_markup/render-heading.html | 12 +- layouts/partials/favicons.html | 5 + layouts/shortcodes/tab.html | 74 ++++++-- static/favicons/favicon-16x16.png | Bin 0 -> 3099 bytes static/favicons/favicon-32x32.png | Bin 0 -> 3099 bytes static/favicons/favicon.ico | Bin 0 -> 3099 bytes 8 files changed, 194 insertions(+), 211 deletions(-) create mode 100644 layouts/partials/favicons.html create mode 100644 static/favicons/favicon-16x16.png create mode 100644 static/favicons/favicon-32x32.png create mode 100644 static/favicons/favicon.ico diff --git a/content/docs/support/cert-csi/_index.md b/content/docs/support/cert-csi/_index.md index ed88b711d4..d8ee39db25 100644 --- a/content/docs/support/cert-csi/_index.md +++ b/content/docs/support/cert-csi/_index.md @@ -57,22 +57,17 @@ mv ./cert-csi-linux-amd64 ~/.local/bin/cert-csi ### Pull The Container Image - {{< tabs name="pulling-cert-csi-image" >}} - {{% tab name="Docker" %}} - - ```bash + {{< tabpane name="pulling-cert-csi-image" lang="bash">}} + {{}} docker pull dellemc/cert-csi:v1.4.1 - ``` - {{% /tab %}} - {{% tab name="Podman" %}} + {{}} + {{}} - ```bash podman pull dellemc/cert-csi:v1.4.1 - ``` - {{% /tab %}} - {{< /tabs >}} + {{}} + {{< /tabpane >}} ### Building Locally #### Prerequisites @@ -88,24 +83,20 @@ git clone -b "v1.4.1" https://github.com/dell/cert-csi.git && cd cert-csi 2. Build cert-csi -{{< tabs name="build-cert-csi" >}} -{{% tab name="Executable" %}} +{{< tabpane name="build-cert-csi" lang="bash">}} +{{}} -```bash make build # the cert-csi executable will be in the working directory chmod +x ./cert-csi # if building on *nix machine -``` -{{% /tab %}} -{{% tab name="Container Image" %}} +{{}} +{{}} -```bash # uses podman if available, otherwise uses docker. The resulting image is tagged cert-csi:latest make docker -``` -{{% /tab %}} -{{< /tabs >}} +{{}} +{{< /tabpane >}} ### Optional @@ -117,24 +108,18 @@ make install-ms ## Running Cert-CSI -{{< tabs name="running-cert-csi" >}} -{{% tab name="Executable" %}} -```bash +{{< tabpane name="running-cert-csi" lang="bash">}} +{{}} cert-csi --help -``` -{{% /tab %}} -{{% tab name="Docker" %}} -```bash +{{}} +{{}} docker run --rm -it -v ~/.kube/config:/root/.kube/config dellemc/cert-csi:v1.4.1 --help -``` -{{% /tab %}} -{{% tab name="Podman" %}} -```bash +{{}} +{{}} podman run --rm -it -v ~/.kube/config:/root/.kube/config dellemc/cert-csi:v1.4.1 --help -``` -{{% /tab %}} -{{< /tabs >}} +{{}} +{{< /tabpane >}} > The following sections showing how to execute the various test suites use the executable for brevity. For executions requiring special behavior, such as mounting file arguments into the container image, it will be noted for the relevant command. @@ -181,10 +166,9 @@ storageClasses: Driver specific examples: - {{< tabs name="cerity-config-examples" >}} - {{% tab name="CSI PowerFlex" %}} + {{< tabpane name="cerity-config-examples" lang="yaml">}} + {{}} -```yaml storageClasses: - name: vxflexos minSize: 8Gi @@ -220,12 +204,11 @@ storageClasses: capacityTracking: driverNamespace: powerstore pollInterval: 2m -``` - {{% /tab %}} - {{% tab name="CSI PowerScale" %}} -```yaml + {{}} + {{}} + storageClasses: - name: isilon minSize: 8Gi @@ -244,12 +227,10 @@ storageClasses: IsiPath: "/ifs/data/sample" IsiVolumePathPermissions: "0777" AzServiceIP: "192.168.2.1" -``` - {{% /tab %}} - {{% tab name="CSI PowerMax" %}} + {{}} + {{}} -```yaml storageClasses: - name: powermax-iscsi minSize: 5Gi @@ -271,12 +252,10 @@ storageClasses: capacityTracking: driverNamespace: powerstore pollInterval: 2m -``` - {{% /tab %}} - {{% tab name="CSI PowerStore" %}} + {{}} + {{}} -```yaml storageClasses: - name: powerstore minSize: 5Gi @@ -311,12 +290,10 @@ storageClasses: capacityTracking: driverNamespace: powerstore pollInterval: 2m -``` - {{% /tab %}} - {{% tab name="CSI Unity" %}} + {{}} + {{}} -```yaml storageClasses: - name: unity-iscsi minSize: 3Gi @@ -354,10 +331,9 @@ storageClasses: capacityTracking: driverNamespace: unity pollInterval: 2m -``` - {{% /tab %}} - {{< /tabs >}} + {{}} + {{< /tabpane >}} #### Launching Test Run 1. Executes the [VolumeIO](#volume-io) suite. @@ -394,19 +370,14 @@ Run `cert-csi certify -h` for more options. If you are using the container image, the `cert-config` file must be mounted into the container. Assuming your `cert-config` file is `/home/user/example-certify-config.yaml`, here are examples of how to exeucte this suite with the container image. -{{< tabs name="running-container-certify" >}} -{{% tab name="Docker" %}} -```bash +{{< tabpane name="running-container-certify" lang="bash">}} +{{}} docker run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/example-certify-config.yaml:/example-certify-config.yaml dellemc/cert-csi:v1.4.1 certify --cert-config /example-certify-config.yaml --vsc -``` -{{% /tab %}} -{{% tab name="Podman" %}} -```bash +{{}} +{{}} podman run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/example-certify-config.yaml:/example-certify-config.yaml dellemc/cert-csi:v1.4.1 certify --cert-config /example-certify-config.yaml --vsc -``` - -{{% /tab %}} -{{< /tabs >}} +{{}} +{{< /tabpane >}} ## Running Individual Test Suites @@ -592,57 +563,46 @@ Run `cert-csi test ephemeral-volume -h` for more options. If you are using the container image, the `attr` file must be mounted into the container. Assuming your `attr` file is `/home/user/ephemeral-config.properties`, here are examples of how to exeucte this suite with the container image. -{{< tabs name="running-container-ephemeral-volume" >}} -{{% tab name="Docker" %}} -```bash +{{< tabpane name="running-container-ephemeral-volume" lang="bash">}} +{{}} docker run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/ephemeral-config.properties:/ephemeral-config.properties dellemc/cert-csi:v1.4.1 test ephemeral-volume --driver --attr /ephemeral-config.properties -``` -{{% /tab %}} -{{% tab name="Podman" %}} -```bash +{{}} +{{}} podman run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/ephemeral-config.properties:/ephemeral-config.properties dellemc/cert-csi:v1.4.1 test ephemeral-volume --driver --attr /ephemeral-config.properties -``` -{{% /tab %}} -{{< /tabs >}} +{{}} +{{< /tabpane >}} Sample ephemeral-config.properties (key/value pair) - {{< tabs name="volume-attributes-examples" >}} - {{% tab name="CSI PowerFlex" %}} + {{< tabpane name="volume-attributes-examples" lang="yaml">}} + {{}} - ```yaml volumeName: "my-ephemeral-vol" size: "10Gi" storagepool: "sample" systemID: "sample" - ``` - {{% /tab %}} - {{% tab name="CSI PowerScale" %}} + {{}} + {{}} - ```yaml size: "10Gi" ClusterName: "sample" AccessZone: "sample" IsiPath: "/ifs/data/sample" IsiVolumePathPermissions: "0777" AzServiceIP: "192.168.2.1" - ``` - {{% /tab %}} - {{% tab name="CSI PowerStore" %}} + {{}} + {{}} - ```yaml size: "10Gi" arrayID: "sample" nasName: "sample" nfsAcls: "0777" - ``` - {{% /tab %}} - {{% tab name="CSI Unity" %}} + {{}} + {{}} - ```yaml size: "10Gi" arrayID: "sample" protocol: iSCSI @@ -651,10 +611,9 @@ Sample ephemeral-config.properties (key/value pair) tieringPolicy: "1" storagePool: pool_2 nasName: "sample" - ``` - {{% /tab %}} - {{< /tabs >}} + {{}} + {{< /tabpane >}} #### Storage Capacity Tracking 1. Creates namespace `functional-test` where resources will be created. diff --git a/content/v1/csidriver/installation/test/certcsi.md b/content/v1/csidriver/installation/test/certcsi.md index 840e6c89b6..5605bbe45b 100644 --- a/content/v1/csidriver/installation/test/certcsi.md +++ b/content/v1/csidriver/installation/test/certcsi.md @@ -48,22 +48,18 @@ mv ./cert-csi-linux-amd64 ~/.local/bin/cert-csi ### Pull The Container Image - {{< tabs name="pulling-cert-csi-image" >}} - {{% tab name="Docker" %}} + {{< tabpane name="pulling-cert-csi-image" lang="bash">}} + {{}} - ```bash docker pull dellemc/cert-csi:v1.3.1 - ``` - {{% /tab %}} - {{% tab name="Podman" %}} + {{}} + {{}} - ```bash podman pull dellemc/cert-csi:v1.3.1 - ``` - - {{% /tab %}} - {{< /tabs >}} + + {{}} + {{< /tabpane>}} ### Building Locally #### Prerequisites @@ -79,24 +75,20 @@ git clone -b "v1.3.1" https://github.com/dell/cert-csi.git && cd cert-csi 2. Build cert-csi -{{< tabs name="build-cert-csi" >}} -{{% tab name="Executable" %}} +{{< tabpane name="build-cert-csi" lang="bash">}} +{{}} -```bash make build # the cert-csi executable will be in the working directory chmod +x ./cert-csi # if building on *nix machine -``` -{{% /tab %}} -{{% tab name="Container Image" %}} +{{}} +{{}} -```bash # uses podman if available, otherwise uses docker. The resulting image is tagged cert-csi:latest make docker -``` -{{% /tab %}} -{{< /tabs >}} +{{}} +{{< /tabpane >}} ### Optional @@ -108,24 +100,24 @@ make install-ms ## Running Cert-CSI -{{< tabs name="running-cert-csi" >}} -{{% tab name="Executable" %}} -```bash +{{< tabpane name="running-cert-csi" lang="bash">}} +{{}} + cert-csi --help -``` -{{% /tab %}} -{{% tab name="Docker" %}} -```bash + +{{}} +{{}} + docker run --rm -it -v ~/.kube/config:/root/.kube/config dellemc/cert-csi:v1.3.1 --help -``` -{{% /tab %}} -{{% tab name="Podman" %}} -```bash + +{{}} +{{}} + podman run --rm -it -v ~/.kube/config:/root/.kube/config dellemc/cert-csi:v1.3.1 --help -``` -{{% /tab %}} -{{< /tabs >}} + +{{}} +{{< /tabpane >}} > The following sections showing how to execute the various test suites use the executable for brevity. For executions requiring special behavior, such as mounting file arguments into the container image, it will be noted for the relevant command. @@ -172,10 +164,9 @@ storageClasses: Driver specific examples: - {{< tabs name="cerity-config-examples" >}} - {{% tab name="CSI PowerFlex" %}} + {{< tabpane name="cerity-config-examples" lang="yaml">}} + {{}} -```yaml storageClasses: - name: vxflexos minSize: 8Gi @@ -211,12 +202,11 @@ storageClasses: capacityTracking: driverNamespace: powerstore pollInterval: 2m -``` - {{% /tab %}} - {{% tab name="CSI PowerScale" %}} + {{}} + {{}} + -```yaml storageClasses: - name: isilon minSize: 8Gi @@ -235,11 +225,11 @@ storageClasses: IsiPath: "/ifs/data/sample" IsiVolumePathPermissions: "0777" AzServiceIP: "192.168.2.1" -``` - {{% tab name="CSI PowerMax" %}} -```yaml + {{}} + {{}} + storageClasses: - name: powermax-iscsi minSize: 5Gi @@ -261,14 +251,12 @@ storageClasses: capacityTracking: driverNamespace: powerstore pollInterval: 2m -``` - {{% /tab %}} - {{% /tab %}} - {{% tab name="CSI PowerStore" %}} + {{}} + + {{}} -```yaml storageClasses: - name: powerstore minSize: 5Gi @@ -303,12 +291,11 @@ storageClasses: capacityTracking: driverNamespace: powerstore pollInterval: 2m -``` - {{% /tab %}} - {{% tab name="CSI Unity" %}} -```yaml + {{}} + {{}} + storageClasses: - name: unity-iscsi minSize: 3Gi @@ -346,10 +333,9 @@ storageClasses: capacityTracking: driverNamespace: unity pollInterval: 2m -``` - {{% /tab %}} - {{< /tabs >}} + {{}} + {{< /tabpane >}} ### Launching Test Run 1. Executes the [VolumeIO](#volume-io) suite. @@ -386,19 +372,18 @@ Run `cert-csi certify -h` for more options. If you are using the container image, the `cert-config` file must be mounted into the container. Assuming your `cert-config` file is `/home/user/example-certify-config.yaml`, here are examples of how to exeucte this suite with the container image. -{{< tabs name="running-container-certify" >}} -{{% tab name="Docker" %}} -```bash +{{< tabpane name="running-container-certify" lang="bash">}} +{{}} + docker run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/example-certify-config.yaml:/example-certify-config.yaml dellemc/cert-csi:v1.3.1 certify --cert-config /example-certify-config.yaml --vsc -``` -{{% /tab %}} -{{% tab name="Podman" %}} -```bash +{{}} +{{}} + podman run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/example-certify-config.yaml:/example-certify-config.yaml dellemc/cert-csi:v1.3.1 certify --cert-config /example-certify-config.yaml --vsc -``` -{{% /tab %}} -{{< /tabs >}} + +{{}} +{{< /tabpane >}} ### Running Invidual Test Suites @@ -584,57 +569,46 @@ Run `cert-csi test ephemeral-volume -h` for more options. If you are using the container image, the `attr` file must be mounted into the container. Assuming your `attr` file is `/home/user/ephemeral-config.properties`, here are examples of how to exeucte this suite with the container image. -{{< tabs name="running-container-ephemeral-volume" >}} -{{% tab name="Docker" %}} -```bash +{{< tabpane name="running-container-ephemeral-volume" lang="bash">}} +{{}} docker run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/ephemeral-config.properties:/ephemeral-config.properties dellemc/cert-csi:v1.3.1 test ephemeral-volume --driver --attr /ephemeral-config.properties -``` -{{% /tab %}} -{{% tab name="Podman" %}} -```bash +{{}} +{{}} podman run --rm -it -v ~/.kube/config:/root/.kube/config -v /home/user/ephemeral-config.properties:/ephemeral-config.properties dellemc/cert-csi:v1.3.1 test ephemeral-volume --driver --attr /ephemeral-config.properties -``` -{{% /tab %}} -{{< /tabs >}} +{{}} +{{< /tabpane >}} Sample ephemeral-config.properties (key/value pair) - {{< tabs name="volume-attributes-examples" >}} - {{% tab name="CSI PowerFlex" %}} + {{< tabpane name="volume-attributes-examples" lang="yaml">}} + {{}} - ```yaml volumeName: "my-ephemeral-vol" size: "10Gi" storagepool: "sample" systemID: "sample" - ``` - {{% /tab %}} - {{% tab name="CSI PowerScale" %}} + {{}} + {{}} - ```yaml size: "10Gi" ClusterName: "sample" AccessZone: "sample" IsiPath: "/ifs/data/sample" IsiVolumePathPermissions: "0777" AzServiceIP: "192.168.2.1" - ``` - {{% /tab %}} - {{% tab name="CSI PowerStore" %}} + {{}} + {{}} - ```yaml size: "10Gi" arrayID: "sample" nasName: "sample" nfsAcls: "0777" - ``` - {{% /tab %}} - {{% tab name="CSI Unity" %}} + {{}} + {{}} - ```yaml size: "10Gi" arrayID: "sample" protocol: iSCSI @@ -643,10 +617,9 @@ Sample ephemeral-config.properties (key/value pair) tieringPolicy: "1" storagePool: pool_2 nasName: "sample" - ``` - {{% /tab %}} - {{< /tabs >}} + {{}} + {{< /tabpane >}} #### Storage Capacity Tracking 1. Creates namespace `functional-test` where resources will be created. diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html index 7f8e97424d..dbc0929646 100644 --- a/layouts/_default/_markup/render-heading.html +++ b/layouts/_default/_markup/render-heading.html @@ -1 +1,11 @@ -{{ template "_default/_markup/td-render-heading.html" . }} + +{{ .Text | safeHTML }} + {{- if in (slice 2 3 4 6) .Level }}{{" " -}} + + + + + + + {{- end -}} + \ No newline at end of file diff --git a/layouts/partials/favicons.html b/layouts/partials/favicons.html new file mode 100644 index 0000000000..58c01db033 --- /dev/null +++ b/layouts/partials/favicons.html @@ -0,0 +1,5 @@ + + + + + diff --git a/layouts/shortcodes/tab.html b/layouts/shortcodes/tab.html index 4db7465af9..625042af2e 100644 --- a/layouts/shortcodes/tab.html +++ b/layouts/shortcodes/tab.html @@ -1,19 +1,55 @@ -{{ if .Parent }} - {{ $name := trim (.Get "name") " " }} - {{ $include := trim (.Get "include") " "}} - {{ $codelang := .Get "codelang" }} - {{ if not (.Parent.Scratch.Get "tabs") }} - {{ .Parent.Scratch.Set "tabs" slice }} - {{ end }} - {{ with .Inner }} - {{ if $codelang }} - {{ $.Parent.Scratch.Add "tabs" (dict "name" $name "content" (highlight . $codelang "") ) }} - {{ else }} - {{ $.Parent.Scratch.Add "tabs" (dict "name" $name "content" . ) }} - {{ end }} - {{ else }} - {{ $.Parent.Scratch.Add "tabs" (dict "name" $name "include" $include "codelang" $codelang) }} - {{ end }} -{{ else }} - {{- errorf "[%s] %q: tab shortcode missing its parent" site.Language.Lang .Page.Path -}} -{{ end}} +{{- /* Make sure that we are enclosed within a tabpane shortcode block */ -}} + +{{ with $.Parent -}} + {{ if ne $.Parent.Name "tabpane" -}} + {{ errorf "Found shortcode %q enclosed inside a %q block, must be enclosed inside a %q block. Error position: %s" $.Name $.Parent.Name "tabpane" $.Position -}} + {{ end -}} +{{ else -}} + {{ errorf "shortcode %q must be enclosed inside a %q block, but no parent block was found. Error position: %s" $.Name "tabpane" $.Position -}} +{{ end -}} + +{{ $header := "Tab" -}} +{{ if and (not .IsNamedParams) (.Get 0) -}} + {{ $header = (.Get 0) -}} +{{ else -}} + {{/* Prefill header if not given as named or unnamed parameter */ -}} + {{ $header = .Get "header" | default (printf "Tab %v" .Ordinal) -}} +{{ end -}} + +{{/* store all tab info in dict tab */ -}} +{{ $tab := dict "header" $header -}} +{{ with $.Get "lang" -}} + {{ $tab = merge $tab (dict "language" .) -}} +{{ end -}} +{{ with $.Get "highlight" -}} + {{ $tab = merge $tab (dict "highlight" .) -}} +{{ end -}} +{{ with $.Get "text" -}} + {{ if ne ( printf "%T" . ) "bool" -}} + {{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "text" (printf "%T" .) $.Position -}} + {{ end -}} + {{ $tab = merge $tab (dict "text" .) -}} +{{ end -}} +{{ with $.Get "right" -}} + {{ if ne ( printf "%T" . ) "bool" -}} + {{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "right" (printf "%T" .) $.Position -}} + {{ end -}} + {{ $tab = merge $tab (dict "rightpush" .) -}} +{{ end -}} +{{ with $.Get "disabled" -}} + {{ if ne ( printf "%T" . ) "bool" -}} + {{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "disabled" (printf "%T" .) $.Position -}} + {{ end -}} + {{ $tab = merge $tab (dict "disabled" .) -}} +{{ end -}} + +{{ with $.Inner -}} + {{/* Trim any leading and trailing newlines from .Inner, this avoids + spurious lines during syntax highlighting */ -}} + {{ $tab = merge $tab (dict "content" .) -}} +{{ end -}} + +{{/* add dict tab to parent's scratchpad */ -}} +{{ with .Parent -}} + {{ $.Parent.Scratch.SetInMap "tabs" (printf "%02v" $.Ordinal) $tab -}} +{{ end -}} \ No newline at end of file diff --git a/static/favicons/favicon-16x16.png b/static/favicons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..7743bb88ce9200e350fe1f924458e73be26ffc7e GIT binary patch literal 3099 zcmV+$4CM2PP)&iAawoRhcn9h`~663^amCgrmntSg#XYVy1x_LAWf;=SuuY2va{%h^E&)IveEvm}NLIhz(T}Z)|;LISbRDo6^ z^apx@D*;i|v><$hy3I)VF21-1vGrta3o`~Ks+=?lIT;6}8cV;rK4>zGF#0B{*I>i* z39_IL(gb`8s7F;m1RFvSffz{kLz;Yum^VOP!RxzhuHCK+$GS7_fJ|(-m`Fz>i~;{; za$Os&gjp!;1z3T|LSkK_4-VXL zMjVjpMV9_wyc27_kGi2mWrkw2N90YsdmV4yA#yv&XPf98?PEqoQ4dotw=B=ny>}@T zdw@G1YldO%*HIlowu_;-$05N=RG%X=aDh%IJ#7xiq{a$@^gpn6BqF8w6jWY7{S!!1 zOOxNNPhOUsP$UlM9JeZ@yXi_IUnGith}f|h1J3P5^bPjMKhpU_x1X{Da(}}Jocjf; z{V-NgzmnAdJ0&l@rPHVT&qDf`HfGK=#5Y}qrVk^w3PizeL$WvM1N~N>lmjwyX24f& z9E}YgNBub%(~NVEky$kDbP?}hv$`%~fXo8D9hGu~{fK^tKYskGzB%HkDRpcIYU*wz zv`=AdH(dGwNjyy-9P(dhf_Mkp_pbXc#?Auihx%qDxSb7`yr>K5@Rc%0RZz2LB$?H1`0n%wE|7|581D}Y$q;#lC-#+Aafz5I{v^|YYOcz{{qI0A=4=& z-oJ#02flUI*d7a>-=Mkz7kjL~U2gkxIe-yCFy?Y>P(`sN!O3HPP0>F9oj0Tf{BxiQ zChS9xuGa$?#@2-hqX(4gXVb$aWWL#pc{F0z-S zJ_m`%AjBxvHnGoc)Bn7*>8Rw#*Ol^>p5MWR*UH4zGxg!BHSNalZMY2RPLkio!&UW% zr>oq(v5eBR3a1hI<`w$$FE@9z5G=*}8m#F?njaDn`6|K;6yvR!_|WmSFXf1T4kH($ zfkBKRLa}BiW$u4uYQtkX`_lhzN3N!^H(i*3$lV0lh_JW`Xy*Wid6-}X&OE~m#=&9d z{@ngSnCwEtcPGeR3B1#R|DK&|=-hob)^@?A0}LrcP!Hbk#L1zkCV2r3Kmwd^ME&ca zf55v^qFgoNpOz{0Upq*CQvF~;zW@_X1Of`X@28mlL~7O#lPT-Q%Y-dmTl2sL7$c~+ z>{uo3$a!hCDOhaUeyk1p=!kt-+lUE6gbNKu`{QCr(_J)m-`8FmMFi4xK701vjP4x+ z$v24its>0z!}@sua)0BsM7)B{T!(ib;nEv)cI5*^!PNxjB|3GRPpA0DZ8{UwgLFJu z;#E=gcn9WFE-EhFf(=19$AJ9;E(PHeo~{(EMlAKhdVO8{UIR#|Rq{KoDtL zjbp)V!&tCkCj+ho^&S)M)f2wq#|=Ou3fSnM0E6?dkuSNHJ;^Sa*07K;HyzbxT=E1T z*-_+muiRJvDn_bE_O}M-WMO0vBA^5Ytb%~}6W5p;X{!oBQUoxF??HCoO_YW&6Gmf6 ziraAUeL83Go%C?S$?0#gnd?Z3+GhOd5IKGj)yskT2512cJ}qgZbTp-|-Ko?Bm8iR< zHN9j3V*ZaXHyn5z8(l$?{}ayNtaFDxA~m)DMr5BSQ(8%3-|sL%12zQk^j_M2AGGd) zRt_r1u1ctuwM8H?h<;2Ef=D_4vOIHyB&dQFBeKX!bzLM=YQKTFS!6nQ1M@aX%M>KK z85h?R=D;~{K96y`WLo_KqRazG(3?W@FCgJCr29 z6ZI2y{uQ4v`{LgdyHU9KHy8oKRj9s=>Mdw2r1?oSn+f{UOLl;o*0PMhfr@x7lUCPK zF`$;3wQphMeAMT0DcJ0niUGCc*KDAscADI>JPUxe75D^P+7y6YjR+Xq3!)yt zE&w7USPLeMF}4RHJy1Z?7#A-?Ws1%nyt;KoQ5d{QCaoPyz-&x(E1H&}x*c!t)Y*fU z9!fuJh;lJ#4lxyN=>mo>q;ZxYbP&dP-@EM#2sQ(0@mv5Izr2*ri^^{YvX z9()BM=K&1>?B4qqI&~UHy1x`FDTy~2?+C&Vbk?BSqo(G(AuYhaO3k_rgyCokEkDwS zE^BBf9 zUa=R<8-zIsf@`R%D?1&A&ItKQYfCWlO%8N_~-$PGT-hEE&9 z;2$u-1t2M^OZCkWY3nYDSqb_!nNAsu9e*4(X9Y5o0H5B5cR75z1K)EY9JmvISib}B z7gN}qVuEU!y6&p8%Jv9|h!EG_hz*7lWI^Onop){vv^mh)8PQ)O@-AW&H9wOH?{z)9 zv=77NHGNS10Ve2%D{Lb1j~^I1SlH4zm7DSY8Pa?KYpTeFHD`xydr0*nOAy|H39kg> zP&2jda}69>ne%&oiJE1!{vGfg1ZQ!5LbAf;-0044|go?PN?ri z&cB10KA>BOi+AX}sy9AY(g(OqS$`#>uMuRrpl%gTZ_+t~HXbh1p}ej?8@Lk_d>f?z zQbCk`N~Wy&+s}`7D`ZN;l?3KhFlBhZl_Z{YBzgF>2FH}T(FEpcj4emq$0)ZE`rqpG zL8tu()z0qBEm;bCM2vdKsrb#3fsiuqWOvCeg`K zv+=w$Mt(}&1;i~=5qTCHbw%t}w0KPNaGWNehzL{bzK*)N1i8N`V`aA?`YG*JJGkc%LK82ywgtEBBEvTcY#N%byUh z&-~P2(y|hQK6j!14ouJoe1wgp^^HWl8*3YJ?gNDFh~3?K0oO8wKA5mCnhwN7U0dr- ziDH5npKb?zf^^4YI`8jWj?dy095^_!rm-_79)rjzR4OsH9DErj46z{?d#H4x+WH8@ zC6J~GM)sg-6OLL$m(Xk%A8+MOy94c%Ol`Orb(M%8K$`Z&*zQ6 literal 0 HcmV?d00001 diff --git a/static/favicons/favicon-32x32.png b/static/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..7743bb88ce9200e350fe1f924458e73be26ffc7e GIT binary patch literal 3099 zcmV+$4CM2PP)&iAawoRhcn9h`~663^amCgrmntSg#XYVy1x_LAWf;=SuuY2va{%h^E&)IveEvm}NLIhz(T}Z)|;LISbRDo6^ z^apx@D*;i|v><$hy3I)VF21-1vGrta3o`~Ks+=?lIT;6}8cV;rK4>zGF#0B{*I>i* z39_IL(gb`8s7F;m1RFvSffz{kLz;Yum^VOP!RxzhuHCK+$GS7_fJ|(-m`Fz>i~;{; za$Os&gjp!;1z3T|LSkK_4-VXL zMjVjpMV9_wyc27_kGi2mWrkw2N90YsdmV4yA#yv&XPf98?PEqoQ4dotw=B=ny>}@T zdw@G1YldO%*HIlowu_;-$05N=RG%X=aDh%IJ#7xiq{a$@^gpn6BqF8w6jWY7{S!!1 zOOxNNPhOUsP$UlM9JeZ@yXi_IUnGith}f|h1J3P5^bPjMKhpU_x1X{Da(}}Jocjf; z{V-NgzmnAdJ0&l@rPHVT&qDf`HfGK=#5Y}qrVk^w3PizeL$WvM1N~N>lmjwyX24f& z9E}YgNBub%(~NVEky$kDbP?}hv$`%~fXo8D9hGu~{fK^tKYskGzB%HkDRpcIYU*wz zv`=AdH(dGwNjyy-9P(dhf_Mkp_pbXc#?Auihx%qDxSb7`yr>K5@Rc%0RZz2LB$?H1`0n%wE|7|581D}Y$q;#lC-#+Aafz5I{v^|YYOcz{{qI0A=4=& z-oJ#02flUI*d7a>-=Mkz7kjL~U2gkxIe-yCFy?Y>P(`sN!O3HPP0>F9oj0Tf{BxiQ zChS9xuGa$?#@2-hqX(4gXVb$aWWL#pc{F0z-S zJ_m`%AjBxvHnGoc)Bn7*>8Rw#*Ol^>p5MWR*UH4zGxg!BHSNalZMY2RPLkio!&UW% zr>oq(v5eBR3a1hI<`w$$FE@9z5G=*}8m#F?njaDn`6|K;6yvR!_|WmSFXf1T4kH($ zfkBKRLa}BiW$u4uYQtkX`_lhzN3N!^H(i*3$lV0lh_JW`Xy*Wid6-}X&OE~m#=&9d z{@ngSnCwEtcPGeR3B1#R|DK&|=-hob)^@?A0}LrcP!Hbk#L1zkCV2r3Kmwd^ME&ca zf55v^qFgoNpOz{0Upq*CQvF~;zW@_X1Of`X@28mlL~7O#lPT-Q%Y-dmTl2sL7$c~+ z>{uo3$a!hCDOhaUeyk1p=!kt-+lUE6gbNKu`{QCr(_J)m-`8FmMFi4xK701vjP4x+ z$v24its>0z!}@sua)0BsM7)B{T!(ib;nEv)cI5*^!PNxjB|3GRPpA0DZ8{UwgLFJu z;#E=gcn9WFE-EhFf(=19$AJ9;E(PHeo~{(EMlAKhdVO8{UIR#|Rq{KoDtL zjbp)V!&tCkCj+ho^&S)M)f2wq#|=Ou3fSnM0E6?dkuSNHJ;^Sa*07K;HyzbxT=E1T z*-_+muiRJvDn_bE_O}M-WMO0vBA^5Ytb%~}6W5p;X{!oBQUoxF??HCoO_YW&6Gmf6 ziraAUeL83Go%C?S$?0#gnd?Z3+GhOd5IKGj)yskT2512cJ}qgZbTp-|-Ko?Bm8iR< zHN9j3V*ZaXHyn5z8(l$?{}ayNtaFDxA~m)DMr5BSQ(8%3-|sL%12zQk^j_M2AGGd) zRt_r1u1ctuwM8H?h<;2Ef=D_4vOIHyB&dQFBeKX!bzLM=YQKTFS!6nQ1M@aX%M>KK z85h?R=D;~{K96y`WLo_KqRazG(3?W@FCgJCr29 z6ZI2y{uQ4v`{LgdyHU9KHy8oKRj9s=>Mdw2r1?oSn+f{UOLl;o*0PMhfr@x7lUCPK zF`$;3wQphMeAMT0DcJ0niUGCc*KDAscADI>JPUxe75D^P+7y6YjR+Xq3!)yt zE&w7USPLeMF}4RHJy1Z?7#A-?Ws1%nyt;KoQ5d{QCaoPyz-&x(E1H&}x*c!t)Y*fU z9!fuJh;lJ#4lxyN=>mo>q;ZxYbP&dP-@EM#2sQ(0@mv5Izr2*ri^^{YvX z9()BM=K&1>?B4qqI&~UHy1x`FDTy~2?+C&Vbk?BSqo(G(AuYhaO3k_rgyCokEkDwS zE^BBf9 zUa=R<8-zIsf@`R%D?1&A&ItKQYfCWlO%8N_~-$PGT-hEE&9 z;2$u-1t2M^OZCkWY3nYDSqb_!nNAsu9e*4(X9Y5o0H5B5cR75z1K)EY9JmvISib}B z7gN}qVuEU!y6&p8%Jv9|h!EG_hz*7lWI^Onop){vv^mh)8PQ)O@-AW&H9wOH?{z)9 zv=77NHGNS10Ve2%D{Lb1j~^I1SlH4zm7DSY8Pa?KYpTeFHD`xydr0*nOAy|H39kg> zP&2jda}69>ne%&oiJE1!{vGfg1ZQ!5LbAf;-0044|go?PN?ri z&cB10KA>BOi+AX}sy9AY(g(OqS$`#>uMuRrpl%gTZ_+t~HXbh1p}ej?8@Lk_d>f?z zQbCk`N~Wy&+s}`7D`ZN;l?3KhFlBhZl_Z{YBzgF>2FH}T(FEpcj4emq$0)ZE`rqpG zL8tu()z0qBEm;bCM2vdKsrb#3fsiuqWOvCeg`K zv+=w$Mt(}&1;i~=5qTCHbw%t}w0KPNaGWNehzL{bzK*)N1i8N`V`aA?`YG*JJGkc%LK82ywgtEBBEvTcY#N%byUh z&-~P2(y|hQK6j!14ouJoe1wgp^^HWl8*3YJ?gNDFh~3?K0oO8wKA5mCnhwN7U0dr- ziDH5npKb?zf^^4YI`8jWj?dy095^_!rm-_79)rjzR4OsH9DErj46z{?d#H4x+WH8@ zC6J~GM)sg-6OLL$m(Xk%A8+MOy94c%Ol`Orb(M%8K$`Z&*zQ6 literal 0 HcmV?d00001 diff --git a/static/favicons/favicon.ico b/static/favicons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7743bb88ce9200e350fe1f924458e73be26ffc7e GIT binary patch literal 3099 zcmV+$4CM2PP)&iAawoRhcn9h`~663^amCgrmntSg#XYVy1x_LAWf;=SuuY2va{%h^E&)IveEvm}NLIhz(T}Z)|;LISbRDo6^ z^apx@D*;i|v><$hy3I)VF21-1vGrta3o`~Ks+=?lIT;6}8cV;rK4>zGF#0B{*I>i* z39_IL(gb`8s7F;m1RFvSffz{kLz;Yum^VOP!RxzhuHCK+$GS7_fJ|(-m`Fz>i~;{; za$Os&gjp!;1z3T|LSkK_4-VXL zMjVjpMV9_wyc27_kGi2mWrkw2N90YsdmV4yA#yv&XPf98?PEqoQ4dotw=B=ny>}@T zdw@G1YldO%*HIlowu_;-$05N=RG%X=aDh%IJ#7xiq{a$@^gpn6BqF8w6jWY7{S!!1 zOOxNNPhOUsP$UlM9JeZ@yXi_IUnGith}f|h1J3P5^bPjMKhpU_x1X{Da(}}Jocjf; z{V-NgzmnAdJ0&l@rPHVT&qDf`HfGK=#5Y}qrVk^w3PizeL$WvM1N~N>lmjwyX24f& z9E}YgNBub%(~NVEky$kDbP?}hv$`%~fXo8D9hGu~{fK^tKYskGzB%HkDRpcIYU*wz zv`=AdH(dGwNjyy-9P(dhf_Mkp_pbXc#?Auihx%qDxSb7`yr>K5@Rc%0RZz2LB$?H1`0n%wE|7|581D}Y$q;#lC-#+Aafz5I{v^|YYOcz{{qI0A=4=& z-oJ#02flUI*d7a>-=Mkz7kjL~U2gkxIe-yCFy?Y>P(`sN!O3HPP0>F9oj0Tf{BxiQ zChS9xuGa$?#@2-hqX(4gXVb$aWWL#pc{F0z-S zJ_m`%AjBxvHnGoc)Bn7*>8Rw#*Ol^>p5MWR*UH4zGxg!BHSNalZMY2RPLkio!&UW% zr>oq(v5eBR3a1hI<`w$$FE@9z5G=*}8m#F?njaDn`6|K;6yvR!_|WmSFXf1T4kH($ zfkBKRLa}BiW$u4uYQtkX`_lhzN3N!^H(i*3$lV0lh_JW`Xy*Wid6-}X&OE~m#=&9d z{@ngSnCwEtcPGeR3B1#R|DK&|=-hob)^@?A0}LrcP!Hbk#L1zkCV2r3Kmwd^ME&ca zf55v^qFgoNpOz{0Upq*CQvF~;zW@_X1Of`X@28mlL~7O#lPT-Q%Y-dmTl2sL7$c~+ z>{uo3$a!hCDOhaUeyk1p=!kt-+lUE6gbNKu`{QCr(_J)m-`8FmMFi4xK701vjP4x+ z$v24its>0z!}@sua)0BsM7)B{T!(ib;nEv)cI5*^!PNxjB|3GRPpA0DZ8{UwgLFJu z;#E=gcn9WFE-EhFf(=19$AJ9;E(PHeo~{(EMlAKhdVO8{UIR#|Rq{KoDtL zjbp)V!&tCkCj+ho^&S)M)f2wq#|=Ou3fSnM0E6?dkuSNHJ;^Sa*07K;HyzbxT=E1T z*-_+muiRJvDn_bE_O}M-WMO0vBA^5Ytb%~}6W5p;X{!oBQUoxF??HCoO_YW&6Gmf6 ziraAUeL83Go%C?S$?0#gnd?Z3+GhOd5IKGj)yskT2512cJ}qgZbTp-|-Ko?Bm8iR< zHN9j3V*ZaXHyn5z8(l$?{}ayNtaFDxA~m)DMr5BSQ(8%3-|sL%12zQk^j_M2AGGd) zRt_r1u1ctuwM8H?h<;2Ef=D_4vOIHyB&dQFBeKX!bzLM=YQKTFS!6nQ1M@aX%M>KK z85h?R=D;~{K96y`WLo_KqRazG(3?W@FCgJCr29 z6ZI2y{uQ4v`{LgdyHU9KHy8oKRj9s=>Mdw2r1?oSn+f{UOLl;o*0PMhfr@x7lUCPK zF`$;3wQphMeAMT0DcJ0niUGCc*KDAscADI>JPUxe75D^P+7y6YjR+Xq3!)yt zE&w7USPLeMF}4RHJy1Z?7#A-?Ws1%nyt;KoQ5d{QCaoPyz-&x(E1H&}x*c!t)Y*fU z9!fuJh;lJ#4lxyN=>mo>q;ZxYbP&dP-@EM#2sQ(0@mv5Izr2*ri^^{YvX z9()BM=K&1>?B4qqI&~UHy1x`FDTy~2?+C&Vbk?BSqo(G(AuYhaO3k_rgyCokEkDwS zE^BBf9 zUa=R<8-zIsf@`R%D?1&A&ItKQYfCWlO%8N_~-$PGT-hEE&9 z;2$u-1t2M^OZCkWY3nYDSqb_!nNAsu9e*4(X9Y5o0H5B5cR75z1K)EY9JmvISib}B z7gN}qVuEU!y6&p8%Jv9|h!EG_hz*7lWI^Onop){vv^mh)8PQ)O@-AW&H9wOH?{z)9 zv=77NHGNS10Ve2%D{Lb1j~^I1SlH4zm7DSY8Pa?KYpTeFHD`xydr0*nOAy|H39kg> zP&2jda}69>ne%&oiJE1!{vGfg1ZQ!5LbAf;-0044|go?PN?ri z&cB10KA>BOi+AX}sy9AY(g(OqS$`#>uMuRrpl%gTZ_+t~HXbh1p}ej?8@Lk_d>f?z zQbCk`N~Wy&+s}`7D`ZN;l?3KhFlBhZl_Z{YBzgF>2FH}T(FEpcj4emq$0)ZE`rqpG zL8tu()z0qBEm;bCM2vdKsrb#3fsiuqWOvCeg`K zv+=w$Mt(}&1;i~=5qTCHbw%t}w0KPNaGWNehzL{bzK*)N1i8N`V`aA?`YG*JJGkc%LK82ywgtEBBEvTcY#N%byUh z&-~P2(y|hQK6j!14ouJoe1wgp^^HWl8*3YJ?gNDFh~3?K0oO8wKA5mCnhwN7U0dr- ziDH5npKb?zf^^4YI`8jWj?dy095^_!rm-_79)rjzR4OsH9DErj46z{?d#H4x+WH8@ zC6J~GM)sg-6OLL$m(Xk%A8+MOy94c%Ol`Orb(M%8K$`Z&*zQ6 literal 0 HcmV?d00001 From c00c2d46d12e4660468cb296ae335aaf950b1a8c Mon Sep 17 00:00:00 2001 From: Yamunadevi N Shanmugam <82038610+shanmydell@users.noreply.github.com> Date: Tue, 30 Jul 2024 14:36:53 +0530 Subject: [PATCH 5/8] Update hugo-disabled.toml --- hugo-disabled.toml | 73 ++++++++-------------------------------------- 1 file changed, 12 insertions(+), 61 deletions(-) diff --git a/hugo-disabled.toml b/hugo-disabled.toml index 12b2be8930..d115b8e3c8 100644 --- a/hugo-disabled.toml +++ b/hugo-disabled.toml @@ -1,5 +1,5 @@ -baseURL = "https://example.docsy.dev/" -title = "Goldydocs" +baseURL = "https://dell.github.io/csm-docs/docs/" +title = "Dell Container Storage Modules" # Language settings contentDir = "content/en" @@ -55,29 +55,9 @@ anchor = "smart" [languages] [languages.en] languageName ="English" -title = "Goldydocs" +title = "Container Storage Modules" [languages.en.params] -description = "A Docsy example site" - -[languages.no] -languageName ="Norsk" -contentDir = "content/no" -title = "Gulldoks" -[languages.no.params] -description = "Docsy er operativsystem for skyen" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.fa] -languageDirection = "rtl" -languageName ="فارسی" -contentDir = "content/fa" -title = "اسناد گلدی" -[languages.fa.params] -description = "یک نمونه برای پوسته داکسی" -time_format_default = "2006.01.02" -time_format_blog = "2006.01.02" - +description = "Documentation for Container Storage Modules" [markup] [markup.goldmark] [markup.goldmark.parser.attribute] @@ -99,9 +79,6 @@ section = ["HTML", "print", "RSS"] [params] privacy_policy = "https://policies.google.com/privacy" -# First one is picked as the Twitter card image if not set on page. -# images = ["images/project-illustration.png"] - # Menu title if your navbar has a versions selector to access old versions of your site. # This menu appears only if you have at least one [params.versions] set. version_menu = "Releases" @@ -118,12 +95,12 @@ version = "0.0" # A link to latest version of the docs. Used in the "version-banner" partial to # point people to the main doc site. -url_latest_version = "https://example.com" +url_latest_version = "dell.github.io/csm-docs/docs/" # Repository configuration (URLs for in-page links to opening issues and suggesting changes) -github_repo = "https://github.com/google/docsy-example" +github_repo = "https://github.com/dell/csm" # An optional link to a related project repo. For example, the sibling repository where your product code lives. -github_project_repo = "https://github.com/google/docsy" +github_project_repo = "https://github.com/dell/csm-docs" # Specify a value here if your content directory is not in your repo's root directory # github_subdir = "" @@ -142,8 +119,8 @@ offlineSearch = false prism_syntax_highlighting = false [params.copyright] - authors = "Docsy Authors | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0) | " - from_year = 2018 + authors = "Dell Technologies" + from_year = 2024 # User interface configuration [params.ui] @@ -165,8 +142,8 @@ sidebar_search_disable = false [params.ui.feedback] enable = true # The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). -yes = 'Glad to hear it! Please tell us how we can improve.' -no = 'Sorry to hear that. Please tell us how we can improve.' +yes = 'Glad to hear it! Please tell us how we can improve.' +no = 'Sorry to hear that. Please tell us how we can improve.' # Adds a reading time to the top of each doc. # If you want this feature, but occasionally need to remove the Reading time from a single page, @@ -176,37 +153,11 @@ enable = false [params.links] # End user relevant links. These will show up on left side of footer and in the community page if you have one. -[[params.links.user]] - name = "User mailing list" - url = "https://example.org/mail" - icon = "fa fa-envelope" - desc = "Discussion and help from your fellow users" -[[params.links.user]] - name ="Twitter" - url = "https://example.org/twitter" - icon = "fab fa-twitter" - desc = "Follow us on Twitter to get the latest news!" -[[params.links.user]] - name = "Stack Overflow" - url = "https://example.org/stack" - icon = "fab fa-stack-overflow" - desc = "Practical questions and curated answers" -# Developer relevant links. These will show up on right side of footer and in the community page if you have one. [[params.links.developer]] name = "GitHub" - url = "https://github.com/google/docsy" + url = "https://github.com/dell/csm" icon = "fab fa-github" desc = "Development takes place here!" -[[params.links.developer]] - name = "Slack" - url = "https://example.org/slack" - icon = "fab fa-slack" - desc = "Chat with other project developers" -[[params.links.developer]] - name = "Developer mailing list" - url = "https://example.org/mail" - icon = "fa fa-envelope" - desc = "Discuss development issues around the project" # hugo module configuration From 563991b7a8619c1db249326e20b71ed6439efe93 Mon Sep 17 00:00:00 2001 From: Yamunadevi N Shanmugam <82038610+shanmydell@users.noreply.github.com> Date: Tue, 30 Jul 2024 14:38:43 +0530 Subject: [PATCH 6/8] Update 404.html --- layouts/404.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/layouts/404.html b/layouts/404.html index 1a9bd70440..96b7bab607 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,7 +1,6 @@ {{ define "main" -}}

Not found

-

Oops! This page doesn't exist. Try going back to the home page.

-

You can learn how to make a 404 page like this in Custom 404 Pages.

+

Oops! This page doesn't exist. Try going back to the home page.

{{- end }} From 3c0d19ea4d96ee4a09fbe5ac61503ccd24ac351e Mon Sep 17 00:00:00 2001 From: Wilson Radadia Date: Tue, 30 Jul 2024 17:07:32 +0530 Subject: [PATCH 7/8] Fix for the warnings, hyperlinks for deployment and Container Storage Module pages and removed non-required files. --- .cspell.yml | 8 ------- .gitignore | 4 ++-- config.yaml | 15 ------------ content/docs/_index.md | 16 ++++++------- content/docs/deployment/_index.md | 20 ++++++++-------- content/docs/interactive-tutorials/_index.md | 8 +++---- content/v1/_index.md | 16 ++++++------- content/v1/deployment/_index.md | 20 ++++++++-------- content/v2/_index.md | 16 ++++++------- content/v2/deployment/_index.md | 24 ++++++++++---------- content/v3/_index.md | 16 ++++++------- content/v3/deployment/_index.md | 24 ++++++++++---------- docsy.work | 5 ---- docsy.work.sum | 0 hugo.toml | 12 ++++------ layouts/partials/favicons.html | 3 +-- netlify.toml | 12 ---------- 17 files changed, 88 insertions(+), 131 deletions(-) delete mode 100644 .cspell.yml delete mode 100644 config.yaml delete mode 100644 docsy.work delete mode 100644 docsy.work.sum delete mode 100644 netlify.toml diff --git a/.cspell.yml b/.cspell.yml deleted file mode 100644 index ae2482dc8e..0000000000 --- a/.cspell.yml +++ /dev/null @@ -1,8 +0,0 @@ -# cSpell:ignore textlintrc -# For settings, see -# https://www.streetsidesoftware.com/vscode-spell-checker/docs/configuration/ -version: '0.2' -caseSensitive: true -words: - - Docsy - - Goldydocs diff --git a/.gitignore b/.gitignore index 2ee362257c..ef98dcfd6e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ -/public -resources/ node_modules/ +public/ +resources/ .hugo_build.lock coverage/ reports/ \ No newline at end of file diff --git a/config.yaml b/config.yaml deleted file mode 100644 index 9070e384f0..0000000000 --- a/config.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# THIS IS A TEST CONFIG ONLY! -# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml. -# -# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used. -# -# The sole purpose of this config file is to detect Hugo-module builds that use -# an older version of Hugo. -# -# DO NOT add any config parameters to this file. You can safely delete this file -# if your project is using the required Hugo version. - -module: - hugoVersion: - extended: true - min: 0.110.0 diff --git a/content/docs/_index.md b/content/docs/_index.md index 127367ddfd..6bb86ece14 100644 --- a/content/docs/_index.md +++ b/content/docs/_index.md @@ -20,7 +20,7 @@ The Dell Technologies (Dell) Container Storage Modules (CSM) enables simple and

CSM is made up of multiple components including modules (enterprise capabilities), CSI drivers (storage enablement), and other related applications (deployment, feature controllers, etc). -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**Authorization**](authorization/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [PowerMax](csidriver/features/powermax/)">}} CSM for Authorization provides storage and Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers. It does this by deploying a proxy between the CSI driver and the storage system to enforce role-based access and usage rules.
@@ -32,8 +32,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Replication project aims to bring Replication & Disaster Recovery capabilities of Dell Storage Arrays to Kubernetes clusters. It helps you replicate groups of volumes and can provide you a way to restart applications in case of both planned and unplanned migration. [...Learn more](replication/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Resiliency**](resiliency/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [Unity](csidriver/features/unity/) [PowerStore](csidriver/features/powerstore/)">}} CSM for Resiliency is designed to make Kubernetes Applications, including those that utilize persistent storage, more resilient to various failures. @@ -44,8 +44,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Observability provides visibility on the capacity of the volumes/file shares that is being managed with Dell CSM CSI (Container Storage Interface) drivers along with their performance in terms of bandwidth, IOPS, and response time. [...Learn more](observability/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Application Mobility**](applicationmobility/)" footer="Supports all platforms">}} Container Storage Modules for Application Mobility provide Kubernetes administrators the ability to clone their stateful application workloads and application data to other clusters, either on-premise or in the cloud. @@ -56,12 +56,12 @@ CSM is made up of multiple components including modules (enterprise capabilities Encryption provides the capability to encrypt user data residing on volumes created by Dell CSI Drivers. [...Learn more](secure/encryption/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[License](support/license/)" footer="Required for [Application Mobility](applicationmobility/) & [Encryption](secure/encryption/)">}} The tech-preview releases of Application Mobility and Encryption require a license. Request a license using the [Container Storage Modules License Request](https://app.smartsheet.com/b/form/5e46fad643874d56b1f9cf4c9f3071fb) by providing the requested details. [...Learn more](support/license/) {{< /card >}} -{{< /cardpane >}} \ No newline at end of file +{{% /cardpane %}} \ No newline at end of file diff --git a/content/docs/deployment/_index.md b/content/docs/deployment/_index.md index 2cbef062d9..a0ba7eb74b 100644 --- a/content/docs/deployment/_index.md +++ b/content/docs/deployment/_index.md @@ -8,17 +8,17 @@ weight: 2 The Container Storage Modules along with the required CSI Drivers can each be deployed using CSM operator. -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**CSM Operator**](csmoperator/)" footer="Supported drivers: [PowerScale](csmoperator/drivers/powerscale/), [PowerStore](csmoperator/drivers/powerstore/), [PowerFlex](csmoperator/drivers/powerflex/), [PowerMax](csmoperator/drivers/powermax/), [Unity XT](csmoperator/drivers/unity/)
Supported modules: [Authorization](csmoperator/modules/authorization/), [Replication](csmoperator/modules/replication/), [Observability](csmoperator/modules/observability/)">}} Dell CSM Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers and CSM Modules provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. The operator can be installed using OLM (Operator Lifecycle Manager) or manually. [...More on installation instructions](csmoperator/) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} The Container Storage Modules and the required CSI Drivers can each be deployed following the links below: -{{< cardpane >}} +{{% cardpane %}} {{< card header="[Dell CSI Drivers Installation via Helm](helm/drivers)" footer="Installs [PowerStore](helm/drivers/installation/powerstore/) [PowerMax](helm/drivers/installation/powermax/) [PowerScale](helm/drivers/installation/isilon/) [PowerFlex](helm/drivers/installation/powerflex/) [Unity XT](helm/drivers/installation/unity/)">}} Dell CSI Helm installer installs the CSI Driver components using the provided Helm charts. @@ -34,8 +34,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Both Helm and Dell CSM operator supports offline installation of the Dell CSI Storage Providers via `csi-offline-bundle.sh` or `csm-offline-bundle.sh` script, respectively, by creating a usable package. [...More on installation instructions](offline/drivers) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Observability](helm/modules/installation/observability/)" footer="Installs Observability Module">}} CSM for Observability can be deployed either via Helm/CSM operator/CSM for Observability Installer/CSM for Observability Offline Installer @@ -46,8 +46,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed CSM Authorization can be installed by using the provided Helm v3 charts on Kubernetes platforms or CSM operator. [...More on installation instructions](helm/modules/installation/authorization/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Resiliency](helm/modules/installation/resiliency)" footer="Installs Resiliency Module">}} CSI drivers that support Helm chart installation allow CSM for Resiliency to be _optionally_ installed by variables in the chart. It can be updated via _podmon_ block specified in the _values.yaml_. It can be installed via CSM operator as well. @@ -58,8 +58,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Replication module can be installed by installing repctl,Container Storage Modules (CSM) for Replication Controller,CSI driver after enabling replication. It can be installed via CSM operator as well. [...More on installation instructions](helm/modules/installation/replication) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Application Mobility](helm/modules/installation/applicationmobility)" footer="Installs Application Mobility Module">}} Application mobility module can be installed via helm charts. This is a tech preview release and it requires a license for installation. @@ -70,4 +70,4 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Encryption can be optionally installed via the PowerScale CSI driver Helm chart. [...More on installation instructions](helm/modules/installation/encryption) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} diff --git a/content/docs/interactive-tutorials/_index.md b/content/docs/interactive-tutorials/_index.md index 51eca852bf..2ca7bf8d48 100644 --- a/content/docs/interactive-tutorials/_index.md +++ b/content/docs/interactive-tutorials/_index.md @@ -9,15 +9,15 @@ Welcome to Dell CSM's interactive tutorials section! Try the different modules w Our interactive tutorials provide step-by-step guidance on how to use our CSM products in the context of PowerFlex Software-Defined-Storage. -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**CSM Quickstart**](csm-quickstart/)">}} If you are new to Dell CSM, start here and use the different modules interactively. {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**CSM Operator**](csm-operator/)">}} In this tutorial, you will learn how to install and use the CSM Operator. {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} diff --git a/content/v1/_index.md b/content/v1/_index.md index a8c4a5f0cd..4d7f504934 100644 --- a/content/v1/_index.md +++ b/content/v1/_index.md @@ -15,7 +15,7 @@ The Dell Technologies (Dell) Container Storage Modules (CSM) enables simple and

CSM is made up of multiple components including modules (enterprise capabilities), CSI drivers (storage enablement), and other related applications (deployment, feature controllers, etc). -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**Authorization**](authorization/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [PowerMax](csidriver/features/powermax/)">}} CSM for Authorization provides storage and Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers. It does this by deploying a proxy between the CSI driver and the storage system to enforce role-based access and usage rules.
@@ -27,8 +27,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Replication project aims to bring Replication & Disaster Recovery capabilities of Dell Storage Arrays to Kubernetes clusters. It helps you replicate groups of volumes and can provide you a way to restart applications in case of both planned and unplanned migration. [...Learn more](replication/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Resiliency**](resiliency/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [Unity](csidriver/features/unity/) [PowerStore](csidriver/features/powerstore/)">}} CSM for Resiliency is designed to make Kubernetes Applications, including those that utilize persistent storage, more resilient to various failures. @@ -39,8 +39,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Observability provides visibility on the capacity of the volumes/file shares that is being managed with Dell CSM CSI (Container Storage Interface) drivers along with their performance in terms of bandwidth, IOPS, and response time. [...Learn more](observability/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Application Mobility**](applicationmobility/)" footer="Supports all platforms">}} Container Storage Modules for Application Mobility provide Kubernetes administrators the ability to clone their stateful application workloads and application data to other clusters, either on-premise or in the cloud. @@ -51,12 +51,12 @@ CSM is made up of multiple components including modules (enterprise capabilities Encryption provides the capability to encrypt user data residing on volumes created by Dell CSI Drivers. [...Learn more](secure/encryption/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[License](license/)" footer="Required for [Application Mobility](applicationmobility/) & [Encryption](secure/encryption/)">}} The tech-preview releases of Application Mobility and Encryption require a license. Request a license using the [Container Storage Modules License Request](https://app.smartsheet.com/b/form/5e46fad643874d56b1f9cf4c9f3071fb) by providing the requested details. [...Learn more](license/) {{< /card >}} -{{< /cardpane >}} \ No newline at end of file +{{% /cardpane %}} \ No newline at end of file diff --git a/content/v1/deployment/_index.md b/content/v1/deployment/_index.md index 69be54cedd..877b6537f9 100644 --- a/content/v1/deployment/_index.md +++ b/content/v1/deployment/_index.md @@ -8,17 +8,17 @@ weight: 1 The Container Storage Modules along with the required CSI Drivers can each be deployed using CSM operator. -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**CSM Operator**](csmoperator/)" footer="Supported drivers: [PowerScale](csmoperator/drivers/powerscale/), [PowerStore](csmoperator/drivers/powerstore/), [PowerFlex](csmoperator/drivers/powerflex/), [PowerMax](csmoperator/drivers/powermax/), [Unity XT](csmoperator/drivers/unity/)
Supported modules: [Authorization](csmoperator/modules/authorization/), [Replication](csmoperator/modules/replication/), [Observability](csmoperator/modules/observability/)">}} Dell CSM Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers and CSM Modules provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. The operator can be installed using OLM (Operator Lifecycle Manager) or manually. [...More on installation instructions](csmoperator/) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} The Container Storage Modules and the required CSI Drivers can each be deployed following the links below: -{{< cardpane >}} +{{% cardpane %}} {{< card header="[Dell CSI Drivers Installation via Helm](../csidriver/installation/helm)" footer="Installs [PowerStore](../csidriver/installation/helm/powerstore/) [PowerMax](../csidriver/installation/helm/powermax/) [PowerScale](../csidriver/installation/helm/isilon/) [PowerFlex](../csidriver/installation/helm/powerflex/) [Unity XT](../csidriver/installation/helm/unity/)">}} Dell CSI Helm installer installs the CSI Driver components using the provided Helm charts. @@ -34,8 +34,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Both Helm and Dell CSM operator supports offline installation of the Dell CSI Storage Providers via `csi-offline-bundle.sh` or `csm-offline-bundle.sh` script, respectively, by creating a usable package. [...More on installation instructions](../csidriver/installation/offline) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Observability](../observability/deployment)" footer="Installs Observability Module">}} CSM for Observability can be deployed either via Helm/CSM operator/CSM for Observability Installer/CSM for Observability Offline Installer @@ -46,8 +46,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed CSM Authorization can be installed by using the provided Helm v3 charts on Kubernetes platforms or CSM operator. [...More on installation instructions](../authorization/deployment) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Resiliency](../resiliency/deployment)" footer="Installs Resiliency Module">}} CSI drivers that support Helm chart installation allow CSM for Resiliency to be _optionally_ installed by variables in the chart. It can be updated via _podmon_ block specified in the _values.yaml_. It can be installed via CSM operator as well. @@ -58,8 +58,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Replication module can be installed by installing repctl,Container Storage Modules (CSM) for Replication Controller,CSI driver after enabling replication. It can be installed via CSM operator as well. [...More on installation instructions](../replication/deployment) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Application Mobility](../applicationmobility/deployment)" footer="Installs Application Mobility Module">}} Application mobility module can be installed via helm charts. This is a tech preview release and it requires a license for installation. @@ -70,4 +70,4 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Encryption can be optionally installed via the PowerScale CSI driver Helm chart. [...More on installation instructions](../secure/encryption//deployment) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} diff --git a/content/v2/_index.md b/content/v2/_index.md index 012ffcef40..ec696a7d8f 100644 --- a/content/v2/_index.md +++ b/content/v2/_index.md @@ -16,7 +16,7 @@ The Dell Technologies (Dell) Container Storage Modules (CSM) enables simple and

CSM is made up of multiple components including modules (enterprise capabilities), CSI drivers (storage enablement), and other related applications (deployment, feature controllers, etc). -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**Authorization**](authorization/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [PowerMax](csidriver/features/powermax/)">}} CSM for Authorization provides storage and Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers. It does this by deploying a proxy between the CSI driver and the storage system to enforce role-based access and usage rules.
@@ -28,8 +28,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Replication project aims to bring Replication & Disaster Recovery capabilities of Dell Storage Arrays to Kubernetes clusters. It helps you replicate groups of volumes and can provide you a way to restart applications in case of both planned and unplanned migration. [...Learn more](replication/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Resiliency**](resiliency/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [Unity](csidriver/features/unity/)">}} CSM for Resiliency is designed to make Kubernetes Applications, including those that utilize persistent storage, more resilient to various failures. @@ -40,8 +40,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Observability provides visibility on the capacity of the volumes/file shares that is being managed with Dell CSM CSI (Container Storage Interface) drivers along with their performance in terms of bandwidth, IOPS, and response time. [...Learn more](observability/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Application Mobility**](applicationmobility/)" footer="Supports all platforms">}} Container Storage Modules for Application Mobility provide Kubernetes administrators the ability to clone their stateful application workloads and application data to other clusters, either on-premise or in the cloud. @@ -52,15 +52,15 @@ CSM is made up of multiple components including modules (enterprise capabilities Encryption provides the capability to encrypt user data residing on volumes created by Dell CSI Drivers. [...Learn more](secure/encryption/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[License](license/)" footer="Required for [Application Mobility](applicationmobility/) & [Encryption](secure/encryption/)">}} The tech-preview releases of Application Mobility and Encryption require a license. Request a license using the [Container Storage Modules License Request](https://app.smartsheet.com/b/form/5e46fad643874d56b1f9cf4c9f3071fb) by providing the requested details. [...Learn more](license/) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} ## CSM Modules Support Matrix for Dell CSI Drivers diff --git a/content/v2/deployment/_index.md b/content/v2/deployment/_index.md index f9ae6b5cb6..d76bc0b10d 100644 --- a/content/v2/deployment/_index.md +++ b/content/v2/deployment/_index.md @@ -8,17 +8,17 @@ weight: 1 The Container Storage Modules along with the required CSI Drivers can each be deployed using CSM operator. -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**CSM Operator**](csmoperator/)" footer="Supported drivers: [PowerScale](csmoperator/drivers/powerscale/), [PowerStore](csmoperator/drivers/powerstore/), [PowerFlex](csmoperator/drivers/powerflex/), [PowerMax](csmoperator/drivers/powermax/), [Unity XT](csmoperator/drivers/unity/)
Supported modules: [Authorization](csmoperator/modules/authorization/), [Replication](csmoperator/modules/replication/), [Observability](csmoperator/modules/observability/)">}} Dell CSM Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers and CSM Modules provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. The operator can be installed using OLM (Operator Lifecycle Manager) or manually. [...More on installation instructions](csmoperator/) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} The Container Storage Modules and the required CSI Drivers can each be deployed following the links below: -{{< cardpane >}} +{{% cardpane %}} {{< card header="[Dell CSI Drivers Installation via Helm](../csidriver/installation/helm)" footer="Installs [PowerStore](../csidriver/installation/helm/powerstore/) [PowerMax](../csidriver/installation/helm/powermax/) [PowerScale](../csidriver/installation/helm/isilon/) [PowerFlex](../csidriver/installation/helm/powerflex/) [Unity XT](../csidriver/installation/helm/unity/)">}} Dell CSI Helm installer installs the CSI Driver components using the provided Helm charts. @@ -34,15 +34,15 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Both Helm and Dell CSI opetor supports offline installation of the Dell CSI Storage Providers via `csi-offline-bundle.sh` script by creating a usable package. [...More on installation instructions](../csidriver/installation/offline) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell CSI Drivers Installation via operator](../csidriver/installation/operator)" footer="Installs [PowerStore](../csidriver/installation/operator/powerstore/) [PowerMax](../csidriver/installation/operator/powermax/) [PowerScale](../csidriver/installation/operator/isilon/) [PowerFlex](../csidriver/installation/operator/powerflex/) [Unity XT](../csidriver/installation/operator/unity/)">}} Dell CSI Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. It is also available as a certified operator for OpenShift clusters and can be deployed using the OpenShift Container Platform. Both these methods of installation use OLM (Operator Lifecycle Manager). The operator can also be deployed manually. [...More on installation instructions](../csidriver/installation/operator) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Observability](../observability/deployment)" footer="Installs Observability Module">}} CSM for Observability can be deployed either via Helm or CSM for Observability Installer or CSM for Observability Offline Installer @@ -53,8 +53,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed CSM Authorization can be installed by using the provided Helm v3 charts on Kubernetes platforms. [...More on installation instructions](../authorization/deployment) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Resiliency](../resiliency/deployment)" footer="Installs Resiliency Module">}} CSI drivers that support Helm chart installation allow CSM for Resiliency to be _optionally_ installed by variables in the chart. It can be updated via _podmon_ block specified in the _values.yaml_ @@ -65,8 +65,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Replication module can be installed by installing repctl,Container Storage Modules (CSM) for Replication Controller,CSI driver after enabling replication. [...More on installation instructions](../replication/deployment) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Application Mobility](../applicationmobility/deployment)" footer="Installs Application Mobility Module">}} Application mobility module can be installed via helm charts. This is a tech preview release and it requires a license for installation. @@ -77,4 +77,4 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Encryption can be optionally installed via the PowerScale CSI driver Helm chart. [...More on installation instructions](../secure/encryption//deployment) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} diff --git a/content/v3/_index.md b/content/v3/_index.md index 2de8c56267..1cc7a171c3 100644 --- a/content/v3/_index.md +++ b/content/v3/_index.md @@ -15,7 +15,7 @@ The Dell Technologies (Dell) Container Storage Modules (CSM) enables simple and

CSM is made up of multiple components including modules (enterprise capabilities), CSI drivers (storage enablement), and other related applications (deployment, feature controllers, etc). -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**Authorization**](authorization/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [PowerMax](csidriver/features/powermax/)">}} CSM for Authorization provides storage and Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers. It does this by deploying a proxy between the CSI driver and the storage system to enforce role-based access and usage rules.
@@ -27,8 +27,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Replication project aims to bring Replication & Disaster Recovery capabilities of Dell Storage Arrays to Kubernetes clusters. It helps you replicate groups of volumes and can provide you a way to restart applications in case of both planned and unplanned migration. [...Learn more](replication/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Resiliency**](resiliency/)" footer="Supports [PowerFlex](csidriver/features/powerflex/) [PowerScale](csidriver/features/powerscale/) [Unity](csidriver/features/unity/)">}} CSM for Resiliency is designed to make Kubernetes Applications, including those that utilize persistent storage, more resilient to various failures. @@ -39,8 +39,8 @@ CSM is made up of multiple components including modules (enterprise capabilities CSM for Observability provides visibility on the capacity of the volumes/file shares that is being managed with Dell CSM CSI (Container Storage Interface) drivers along with their performance in terms of bandwidth, IOPS, and response time. [...Learn more](observability/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[**Application Mobility**](applicationmobility/)" footer="Supports all platforms">}} Container Storage Modules for Application Mobility provide Kubernetes administrators the ability to clone their stateful application workloads and application data to other clusters, either on-premise or in the cloud. @@ -51,15 +51,15 @@ CSM is made up of multiple components including modules (enterprise capabilities Encryption provides the capability to encrypt user data residing on volumes created by Dell CSI Drivers. [...Learn more](secure/encryption/) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[License](license/)" footer="Required for [Application Mobility](applicationmobility/) & [Encryption](secure/encryption/)">}} The tech-preview releases of Application Mobility and Encryption require a license. Request a license using the [Container Storage Modules License Request](https://app.smartsheet.com/b/form/5e46fad643874d56b1f9cf4c9f3071fb) by providing the requested details. [...Learn more](license/) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} ## CSM Modules Support Matrix for Dell CSI Drivers diff --git a/content/v3/deployment/_index.md b/content/v3/deployment/_index.md index 87d3d98cc4..d0192e5b9a 100644 --- a/content/v3/deployment/_index.md +++ b/content/v3/deployment/_index.md @@ -11,17 +11,17 @@ CSM 1.7.1 is applicable to helm based installations of PowerFlex driver. The Container Storage Modules along with the required CSI Drivers can each be deployed using CSM operator. -{{< cardpane >}} +{{% cardpane %}} {{< card header="[**CSM Operator**](csmoperator/)" footer="Supported drivers: [PowerScale](csmoperator/drivers/powerscale/), [PowerStore](csmoperator/drivers/powerstore/), [PowerFlex](csmoperator/drivers/powerflex/), [PowerMax](csmoperator/drivers/powermax/), [Unity XT](csmoperator/drivers/unity/)
Supported modules: [Authorization](csmoperator/modules/authorization/), [Replication](csmoperator/modules/replication/), [Observability](csmoperator/modules/observability/)">}} Dell CSM Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers and CSM Modules provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. The operator can be installed using OLM (Operator Lifecycle Manager) or manually. [...More on installation instructions](csmoperator/) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} The Container Storage Modules and the required CSI Drivers can each be deployed following the links below: -{{< cardpane >}} +{{% cardpane %}} {{< card header="[Dell CSI Drivers Installation via Helm](../csidriver/installation/helm)" footer="Installs [PowerStore](../csidriver/installation/helm/powerstore/) [PowerMax](../csidriver/installation/helm/powermax/) [PowerScale](../csidriver/installation/helm/isilon/) [PowerFlex](../csidriver/installation/helm/powerflex/) [Unity XT](../csidriver/installation/helm/unity/)">}} Dell CSI Helm installer installs the CSI Driver components using the provided Helm charts. @@ -37,15 +37,15 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Both Helm and Dell CSI opetor supports offline installation of the Dell CSI Storage Providers via `csi-offline-bundle.sh` script by creating a usable package. [...More on installation instructions](../csidriver/installation/offline) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell CSI Drivers Installation via operator](../csidriver/installation/operator)" footer="Installs [PowerStore](../csidriver/installation/operator/powerstore/) [PowerMax](../csidriver/installation/operator/powermax/) [PowerScale](../csidriver/installation/operator/isilon/) [PowerFlex](../csidriver/installation/operator/powerflex/) [Unity XT](../csidriver/installation/operator/unity/)">}} Dell CSI Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. It is also available as a certified operator for OpenShift clusters and can be deployed using the OpenShift Container Platform. Both these methods of installation use OLM (Operator Lifecycle Manager). The operator can also be deployed manually. [...More on installation instructions](../csidriver/installation/operator) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Observability](../observability/deployment)" footer="Installs Observability Module">}} CSM for Observability can be deployed either via Helm or CSM for Observability Installer or CSM for Observability Offline Installer @@ -56,8 +56,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed CSM Authorization can be installed by using the provided Helm v3 charts on Kubernetes platforms. [...More on installation instructions](../authorization/deployment) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Resiliency](../resiliency/deployment)" footer="Installs Resiliency Module">}} CSI drivers that support Helm chart installation allow CSM for Resiliency to be _optionally_ installed by variables in the chart. It can be updated via _podmon_ block specified in the _values.yaml_ @@ -68,8 +68,8 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Replication module can be installed by installing repctl,Container Storage Modules (CSM) for Replication Controller,CSI driver after enabling replication. [...More on installation instructions](../replication/deployment) {{< /card >}} -{{< /cardpane >}} -{{< cardpane >}} +{{% /cardpane %}} +{{% cardpane %}} {{< card header="[Dell Container Storage Module for Application Mobility](../applicationmobility/deployment)" footer="Installs Application Mobility Module">}} Application mobility module can be installed via helm charts. This is a tech preview release and it requires a license for installation. @@ -80,4 +80,4 @@ The Container Storage Modules and the required CSI Drivers can each be deployed Encryption can be optionally installed via the PowerScale CSI driver Helm chart. [...More on installation instructions](../secure/encryption//deployment) {{< /card >}} -{{< /cardpane >}} +{{% /cardpane %}} diff --git a/docsy.work b/docsy.work deleted file mode 100644 index 074dc2a129..0000000000 --- a/docsy.work +++ /dev/null @@ -1,5 +0,0 @@ -go 1.19 - -use . -use ../docsy/ // Local docsy clone resides in sibling folder to this project -// use ./themes/docsy/ // Local docsy clone resides in themes folder diff --git a/docsy.work.sum b/docsy.work.sum deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/hugo.toml b/hugo.toml index 9e910ccd8f..d6d1bc3247 100644 --- a/hugo.toml +++ b/hugo.toml @@ -100,8 +100,9 @@ github_repo = "" # Google Custom Search Engine ID. Remove or comment out to disable search. #gcs_engine_id = "011737558837375720776:fsdu1nryfng" -# Enable Algolia DocSearch -algolia_docsearch = false +[Search] + # Enable Algolia DocSearch + algolia = false # Enable Lunr.js offline search offlineSearch = true @@ -119,8 +120,8 @@ breadcrumb_disable = false sidebar_search_disable = false # Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar navbar_logo = true -# Set to true to disable the About link in the site footer -footer_about_disable = false +# Set to false to disable the About link in the site footer +footer_about_enable = true # Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. # This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. @@ -204,8 +205,5 @@ enable = false [[module.imports]] path = "github.com/google/docsy/dependencies" disable = false - [[module.mounts]] - source = "assets" - target = "assets" ignoreFiles = ['^content/docs/deployment/csminstallationwizard/src/index\.html$'] diff --git a/layouts/partials/favicons.html b/layouts/partials/favicons.html index 58c01db033..2ec4b8054b 100644 --- a/layouts/partials/favicons.html +++ b/layouts/partials/favicons.html @@ -1,5 +1,4 @@ - - + \ No newline at end of file diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index 7898ef86a6..0000000000 --- a/netlify.toml +++ /dev/null @@ -1,12 +0,0 @@ -# Hugo build configuration for Netlify -# (https://gohugo.io/hosting-and-deployment/hosting-on-netlify/#configure-hugo-version-in-netlify) - -[build] -command = "npm run build:preview" -publish = "public" - -[build.environment] -GO_VERSION = "1.22.2" - -[context.production] -command = "npm run build:production" From 4a0eed3e141d9c0d67847f2a073ffc8503343b88 Mon Sep 17 00:00:00 2001 From: Wilson Radadia Date: Tue, 30 Jul 2024 23:54:00 +0530 Subject: [PATCH 8/8] Fix for warning of Algolia docsearch --- hugo.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hugo.toml b/hugo.toml index fb90991c70..b772cb01d8 100644 --- a/hugo.toml +++ b/hugo.toml @@ -100,8 +100,6 @@ github_repo = "" # Google Custom Search Engine ID. Remove or comment out to disable search. #gcs_engine_id = "011737558837375720776:fsdu1nryfng" -# Enable Algolia DocSearch -algolia_docsearch = false # Enable Lunr.js offline search offlineSearch = true @@ -138,6 +136,10 @@ no = 'Sorry to hear that. Please