docs(clustered): initial license onboarding guide (#5508)
* docs(clustered): initial license onboarding guide * refactor: run `deno fmt` * fix(clustered): make room for documents in between existing ones * fix(clustered): introduce sensible deterministic order for reference documents * refactor: separate license installation from license reference * fix: markdown typo, confusing verbiage * Licensing content and structure updates (#5520) * WIP licensing content * changes to licensing content and structure * Update content/influxdb/clustered/admin/licensing.md Co-authored-by: Jennifer Moore <mail@jenniferplusplus.com> * updated TOC link to license recovery section * Apply suggestions from code review Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> * updated license recovery content --------- Co-authored-by: Jennifer Moore <mail@jenniferplusplus.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> * ported edits to new feature branch --------- Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com> Co-authored-by: wayne warren <wayne.warren.s@gmail.com> Co-authored-by: Scott Anderson <scott@influxdata.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>pull/5517/head^2
parent
91714261a9
commit
59d8958ebc
|
@ -9,7 +9,7 @@ description: >
|
|||
menu:
|
||||
influxdb_clustered:
|
||||
parent: Administer InfluxDB Clustered
|
||||
weight: 101
|
||||
weight: 102
|
||||
influxdb/clustered/tags: [databases]
|
||||
---
|
||||
|
||||
|
|
|
@ -0,0 +1,169 @@
|
|||
---
|
||||
title: Manage your InfluxDB Clustered license
|
||||
description: >
|
||||
Install and manage your InfluxDB Clustered license to authorize the use of
|
||||
the InfluxDB Clustered software.
|
||||
menu:
|
||||
influxdb_clustered:
|
||||
parent: Administer InfluxDB Clustered
|
||||
name: Manage your license
|
||||
weight: 101
|
||||
influxdb/clustered/tags: [licensing]
|
||||
related:
|
||||
- /influxdb/clustered/install/licensing/
|
||||
- /influxdb/clustered/admin/upgrade/
|
||||
---
|
||||
|
||||
Install and manage your InfluxDB Clustered license to authorize the use of
|
||||
the InfluxDB Clustered software.
|
||||
|
||||
- [Install your InfluxDB license](#install-your-influxdb-license)
|
||||
- [Recover from a license misconfiguration](#recover-from-a-license-misconfiguration)
|
||||
- [Renew your license](#renew-your-license)
|
||||
- [License enforcement](#license-enforcement)
|
||||
- [A valid license is required](#a-valid-license-is-required)
|
||||
- [Periodic license checks](#periodic-license-checks)
|
||||
- [License grace periods](#license-grace-periods)
|
||||
- [License expiry logs](#license-expiry-logs)
|
||||
- [Query brownout](#query-brownout)
|
||||
|
||||
{{% note %}}
|
||||
#### License enforcement is currently an opt-in feature
|
||||
|
||||
In currently available versions of InfluxDB Clustered, license enforcement is an
|
||||
opt-in feature that allows InfluxData to introduce license enforcement to
|
||||
customers, and allows customers to deactivate the feature if issues arise.
|
||||
In the future, all releases of InfluxDB Clustered will require customers to
|
||||
configure an active license before they can use the product.
|
||||
|
||||
To opt into license enforcement, include the `useLicensedBinaries` feature flag
|
||||
in your `AppInstance` resource _([See the example below](#enable-feature-flag))_.
|
||||
To deactivate license enforcement, remove the `useLicensedBinaries` feature flag.
|
||||
{{% /note %}}
|
||||
|
||||
## Install your InfluxDB license
|
||||
|
||||
{{% note %}}
|
||||
If setting up an InfluxDB Clustered deployment for the first time, first
|
||||
[set up the prerequisites](/influxdb/clustered/install/licensing/) and
|
||||
[configure your cluster](/influxdb/clustered/install/configure-cluster/).
|
||||
After your InfluxDB namespace is created and prepared, you will be able to
|
||||
install your license.
|
||||
{{% /note %}}
|
||||
|
||||
1. If you haven't already,
|
||||
[request an InfluxDB Clustered license](https://influxdata.com/contact-sales).
|
||||
2. InfluxData provides you with a `license.yml` file that encapsulates your
|
||||
license token as a custom Kubernetes resource.
|
||||
3. Use `kubectl` to apply and create the `License` resource in your InfluxDB
|
||||
namespace:
|
||||
|
||||
```sh
|
||||
kubectl apply --filename license.yml --namespace influxdb
|
||||
```
|
||||
|
||||
4. <span id="enable-feature-flag"></span>
|
||||
Update your `AppInstance` resource to include the `useLicensedBinaries` feature flag.
|
||||
Add the `useLicensedBinaries` entry to the `.spec.package.spec.featureFlags`
|
||||
property--for example:
|
||||
|
||||
```yml
|
||||
apiVersion: kubecfg.dev/v1alpha1
|
||||
kind: AppInstance
|
||||
# ...
|
||||
spec:
|
||||
package:
|
||||
spec:
|
||||
featureFlags:
|
||||
- useLicensedBinaries
|
||||
```
|
||||
|
||||
InfluxDB Clustered detects the `License` resource and extracts the credentials
|
||||
into a secret required by InfluxDB Clustered Kubernetes pods.
|
||||
Pods validate the license secret both at startup and periodically (roughly once
|
||||
per hour) while running.
|
||||
|
||||
## Recover from a license misconfiguration
|
||||
|
||||
If you deploy a licensed release of InfluxDB Clustered without an invalid or
|
||||
expired license, many of the pods in your cluster will crash on startup and will
|
||||
likely enter a `CrashLoopBackoff` state without ever running or becoming healthy.
|
||||
Because the license is stored in a volume-mounted Kubernetes secret, invalid
|
||||
licenses affect both old and new pods.
|
||||
|
||||
Once a valid `License` resource is applied, new pods will begin to start up normally.
|
||||
Licenses are validated when the `License` resource is applied. If the license
|
||||
is invalid when you attempt to apply it, the InfluxDB clustered license
|
||||
controller will not add or update the required secret.
|
||||
|
||||
## Renew your license
|
||||
|
||||
In advance of your license expiration, your InfluxData sales representative will
|
||||
contact you regarding license renewal.
|
||||
You may also contact your sales representative at any time.
|
||||
|
||||
---
|
||||
|
||||
## License enforcement
|
||||
|
||||
InfluxDB Clustered authorizes use of InfluxDB software through licenses issued
|
||||
by InfluxData. The following sections provide information about InfluxDB Clustered
|
||||
license enforcement.
|
||||
|
||||
### A valid license is required
|
||||
|
||||
_When you include the `useLicensedBinaries` feature flag_,
|
||||
Kubernetes pods running in your InfluxDB cluster must have a valid `License`
|
||||
resource to run. Licenses are issued by InfluxData. If there is no `License`
|
||||
resource installed in your cluster, one of two things may happen:
|
||||
|
||||
- Pods may become stuck in a `ContainerCreating` state if the cluster has
|
||||
never had a valid `License` resource installed.
|
||||
- If an expired or invalid license is installed in the cluster, pods will become
|
||||
stuck in a `CrashLoopBackoff` state.
|
||||
Pod containers will attempt to start, detect the invalid license condition,
|
||||
print an error message, and then exit with a non-zero exit code.
|
||||
|
||||
### Periodic license checks
|
||||
|
||||
During normal operation, pods in your InfluxDB cluster check for a valid license
|
||||
once per hour. You may see messages in your pod logs related to this behavior.
|
||||
|
||||
### License grace periods
|
||||
|
||||
When InfluxData issues a license, it is configured with two expiry dates.
|
||||
The first is the expiry date of the contractual license. The second is a hard
|
||||
expiry of the license credentials, after which pods in your cluster will begin
|
||||
crash-looping until a new, valid license is installed in the cluster.
|
||||
|
||||
The period of time between the contractual license expiry and the hard license
|
||||
expiry is considered the _grace period_. The standard grace period is 90 days,
|
||||
but this may be negotiated as needed with your InfluxData sales representative.
|
||||
|
||||
#### License expiry logs
|
||||
|
||||
The following table outlines license expiry logging behavior to show when the log
|
||||
messages begin, the level (`Warn` or `Error`), and the periodicity at which they
|
||||
repeat.
|
||||
|
||||
| Starts at | Log level | Log periodicity |
|
||||
| :-------------------- | :-------- | :-------------- |
|
||||
| 1 month before expiry | Warn | 1 msg per hour |
|
||||
| 1 week before expiry | Warn | 1 msg per 5 min |
|
||||
| At expiry | Error | 1 msg per 5 min |
|
||||
|
||||
#### Query brownout
|
||||
|
||||
Starting one month after your contractual license expiry, the InfluxDB
|
||||
[Querier](/influxdb/clustered/reference/internals/storage-engine/#querier)
|
||||
begins "browning out" requests. Brownouts return
|
||||
`FailedPrecondition` response codes to queries for a portion of every hour.
|
||||
|
||||
| Starts at | Brownout coverage |
|
||||
| :------------------- | :----------------- |
|
||||
| 7 days after expiry | 5 minutes per hour |
|
||||
| 1 month after expiry | 100% of queries |
|
||||
|
||||
**Brownouts only occur after the license has contractually expired**.
|
||||
Also, they **only impact query operations**--no other operations (writes,
|
||||
compaction, garbage collection, etc) are affected.
|
|
@ -8,7 +8,7 @@ description: >
|
|||
menu:
|
||||
influxdb_clustered:
|
||||
parent: Administer InfluxDB Clustered
|
||||
weight: 101
|
||||
weight: 102
|
||||
influxdb/clustered/tags: [tables]
|
||||
---
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ description: >
|
|||
menu:
|
||||
influxdb_clustered:
|
||||
parent: Administer InfluxDB Clustered
|
||||
weight: 101
|
||||
weight: 102
|
||||
influxdb/clustered/tags: [tokens]
|
||||
---
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Set up authentication
|
||||
parent: Install InfluxDB Clustered
|
||||
weight: 102
|
||||
weight: 120
|
||||
---
|
||||
|
||||
Administrative access to your InfluxDB cluster is managed through your identity
|
||||
|
|
|
@ -7,7 +7,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Configure your cluster
|
||||
parent: Install InfluxDB Clustered
|
||||
weight: 103
|
||||
weight: 130
|
||||
related:
|
||||
- /influxdb/clustered/admin/upgrade/
|
||||
---
|
||||
|
@ -876,4 +876,4 @@ be last in the bundle.
|
|||
name: custom-ca
|
||||
```
|
||||
|
||||
{{< page-nav prev="/influxdb/clustered/install/auth/" prevText="Set up authentication" next="/influxdb/clustered/install/deploy/" nextText="Deploy your cluster" >}}
|
||||
{{< page-nav prev="/influxdb/clustered/install/auth/" prevText="Set up authentication" next="/influxdb/clustered/install/licensing/" nextText="Install your license" >}}
|
||||
|
|
|
@ -6,9 +6,10 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Deploy your cluster
|
||||
parent: Install InfluxDB Clustered
|
||||
weight: 104
|
||||
weight: 140
|
||||
related:
|
||||
- /influxdb/clustered/admin/upgrade/
|
||||
- /influxdb/clustered/install/licensing/
|
||||
---
|
||||
|
||||
Use Kubernetes and related tools to deploy your InfluxDB cluster.
|
||||
|
@ -172,4 +173,4 @@ influxdb iox-shared-querier-7f5998b9b-fpt62 4/4 Running 1 (6
|
|||
influxdb kubit-apply-influxdb-g6qpx 0/1 Completed 0 8s
|
||||
```
|
||||
|
||||
{{< page-nav prev="/influxdb/clustered/install/configure-cluster/" prevText="Configure your cluster" next="/influxdb/clustered/install/use-your-cluster/" nextText="Use your cluster" >}}
|
||||
{{< page-nav prev="/influxdb/clustered/install/licensing/" prevText="Install your license" next="/influxdb/clustered/install/use-your-cluster/" nextText="Use your cluster" >}}
|
||||
|
|
|
@ -0,0 +1,104 @@
|
|||
---
|
||||
title: Install your InfluxDB Clustered license
|
||||
description: >
|
||||
Install your InfluxDB Clustered license to authorize the use of the InfluxDB
|
||||
Clustered software.
|
||||
menu:
|
||||
influxdb_clustered:
|
||||
name: Install your License
|
||||
parent: Install InfluxDB Clustered
|
||||
weight: 135
|
||||
influxdb/clustered/tags: [licensing]
|
||||
related:
|
||||
- /influxdb/clustered/admin/licensing/
|
||||
- /influxdb/clustered/admin/upgrade/
|
||||
---
|
||||
|
||||
Install your InfluxDB Clustered license in your cluster to authorize the use
|
||||
of the InfluxDB Clustered software.
|
||||
|
||||
{{% note %}}
|
||||
#### License enforcement is currently an opt-in feature
|
||||
|
||||
In currently available versions of InfluxDB Clustered, license enforcement is an
|
||||
opt-in feature that allows InfluxData to introduce license enforcement to
|
||||
customers, and allows customers to deactivate the feature if issues arise.
|
||||
In the future, all releases of InfluxDB Clustered will require customers to
|
||||
configure an active license before they can use the product.
|
||||
|
||||
To opt into license enforcement, include the `useLicensedBinaries` feature flag
|
||||
in your `AppInstance` resource _([See the example below](#enable-feature-flag))_.
|
||||
To deactivate license enforcement, remove the `useLicensedBinaries` feature flag.
|
||||
{{% /note %}}
|
||||
|
||||
## Install your InfluxDB license
|
||||
|
||||
1. If you haven't already,
|
||||
[request an InfluxDB Clustered license](https://influxdata.com/contact-sales).
|
||||
2. InfluxData provides you with a `license.yml` file that encapsulates your
|
||||
license token as a custom Kubernetes resource.
|
||||
3. Use `kubectl` to apply and create the `License` resource in your InfluxDB
|
||||
namespace:
|
||||
|
||||
```sh
|
||||
kubectl apply --filename license.yml --namespace influxdb
|
||||
```
|
||||
|
||||
4. <span id="enable-feature-flag"></span>
|
||||
Update your `AppInstance` resource to enable the `useLicensedBinaries` feature flag.
|
||||
Add the `useLicensedBinaries` entry to the `.spec.package.spec.featureFlags`
|
||||
property--for example:
|
||||
|
||||
```yml
|
||||
apiVersion: kubecfg.dev/v1alpha1
|
||||
kind: AppInstance
|
||||
# ...
|
||||
spec:
|
||||
package:
|
||||
spec:
|
||||
featureFlags:
|
||||
- useLicensedBinaries
|
||||
```
|
||||
|
||||
InfluxDB Clustered detects the `License` resource and extracts the credentials
|
||||
into a secret required by InfluxDB Clustered Kubernetes pods.
|
||||
Pods validate the license secret both at startup and periodically (roughly once
|
||||
per hour) while running.
|
||||
|
||||
## Upgrade from a non-licensed release
|
||||
|
||||
If you are currently using a non-licensed preview release of InfluxDB Clustered
|
||||
and want to upgrade to a licensed release, do the following:
|
||||
|
||||
1. [Install an InfluxDB license](#install-your-influxdb-license)
|
||||
2. In your `myinfluxdb.yml`, update the package version defined in
|
||||
`spec.package.image` to use a licensed release.
|
||||
|
||||
{{% warn %}}
|
||||
#### Upgrade to checkpoint releases first
|
||||
|
||||
When upgrading InfluxDB Clustered, always upgrade to each
|
||||
[checkpoint release](/influxdb/clustered/admin/upgrade/#checkpoint-releases)
|
||||
first, before proceeding to newer versions.
|
||||
Upgrading past a checkpoint release without first upgrading to it may result in
|
||||
corrupt or lost data.
|
||||
{{% /warn %}}
|
||||
|
||||
{{% code-placeholders "PACKAGE_VERSION" %}}
|
||||
|
||||
```yml
|
||||
apiVersion: kubecfg.dev/v1alpha1
|
||||
kind: AppInstance
|
||||
# ...
|
||||
spec:
|
||||
package:
|
||||
# ...
|
||||
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:PACKAGE_VERSION
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace {{% code-placeholder-key %}}`PACKAGE_VERSION`{{% /code-placeholder-key %}} with
|
||||
the version number to upgrade to.
|
||||
|
||||
{{< page-nav prev="/influxdb/clustered/install/configure-cluster/" prevText="Configure your cluster" next="/influxdb/clustered/install/deploy/" nextText="Deploy your cluster" >}}
|
|
@ -8,7 +8,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Prerequisites
|
||||
parent: Install InfluxDB Clustered
|
||||
weight: 101
|
||||
weight: 110
|
||||
---
|
||||
|
||||
InfluxDB Clustered requires the following prerequisites:
|
||||
|
|
|
@ -6,7 +6,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Use your cluster
|
||||
parent: Install InfluxDB Clustered
|
||||
weight: 105
|
||||
weight: 150
|
||||
---
|
||||
|
||||
Now that your InfluxDB cluster is deployed, you can use and test it.
|
||||
|
|
|
@ -173,7 +173,7 @@ tar -czf "${DATETIME}-cluster-info.tar.gz" "${DATETIME}-cluster-info/"
|
|||
|
||||
#### Query analysis
|
||||
|
||||
**Outputs (InfluxQl):**
|
||||
**Outputs (InfluxQL):**
|
||||
|
||||
- `explain.csv`
|
||||
- `explain-verbose.csv`
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
parent: Reference
|
||||
name: InfluxDB HTTP API
|
||||
weight: 104
|
||||
weight: 127
|
||||
influxdb/clustered/tags: [api]
|
||||
---
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
parent: Reference
|
||||
name: CLIs
|
||||
weight: 104
|
||||
weight: 120
|
||||
---
|
||||
|
||||
InfluxDB provides command line tools designed to manage and work with your
|
||||
|
|
|
@ -4,7 +4,7 @@ description: >
|
|||
InfluxDB client libraries are language-specific tools that integrate with InfluxDB APIs.
|
||||
View the list of available client libraries.
|
||||
list_title: API client libraries
|
||||
weight: 105
|
||||
weight: 125
|
||||
aliases:
|
||||
- /influxdb/clustered/reference/api/client-libraries/
|
||||
- /influxdb/clustered/tools/client-libraries/
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Glossary
|
||||
description: >
|
||||
Terms related to InfluxData products and platforms.
|
||||
weight: 109
|
||||
weight: 180
|
||||
menu:
|
||||
influxdb_clustered:
|
||||
parent: Reference
|
||||
|
|
|
@ -7,7 +7,7 @@ menu:
|
|||
parent: Reference
|
||||
name: InfluxQL reference
|
||||
identifier: influxql-reference
|
||||
weight: 102
|
||||
weight: 143
|
||||
---
|
||||
|
||||
InfluxQL (Influx Query Language) is an SQL-like query language used to interact
|
||||
|
|
|
@ -5,7 +5,7 @@ description: >
|
|||
menu:
|
||||
influxdb_clustered:
|
||||
parent: Reference
|
||||
weight: 108
|
||||
weight: 130
|
||||
---
|
||||
|
||||
{{< children >}}
|
||||
{{< children >}}
|
||||
|
|
|
@ -7,7 +7,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Release notes
|
||||
parent: Reference
|
||||
weight: 101
|
||||
weight: 190
|
||||
---
|
||||
|
||||
View release notes and updates for products and tools related to
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: Sample data
|
||||
parent: Reference
|
||||
weight: 110
|
||||
weight: 182
|
||||
---
|
||||
|
||||
Sample datasets are used throughout the {{< product-name >}} documentation to
|
||||
|
|
|
@ -6,7 +6,7 @@ menu:
|
|||
influxdb_clustered:
|
||||
name: SQL reference
|
||||
parent: Reference
|
||||
weight: 101
|
||||
weight: 141
|
||||
related:
|
||||
- /influxdb/clustered/reference/internals/arrow-flightsql/
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Other InfluxDB syntaxes
|
|||
description: >
|
||||
InfluxDB uses a handful of languages and syntaxes to perform tasks such as
|
||||
writing, querying, and processing data.
|
||||
weight: 105
|
||||
weight: 145
|
||||
menu:
|
||||
influxdb_clustered:
|
||||
name: Other syntaxes
|
||||
|
|
97
yarn.lock
97
yarn.lock
|
@ -45,7 +45,7 @@
|
|||
"@nodelib/fs.stat" "2.0.5"
|
||||
run-parallel "^1.1.9"
|
||||
|
||||
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
|
||||
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
|
||||
version "2.0.5"
|
||||
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
|
||||
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
||||
|
@ -236,7 +236,7 @@ braces@^3.0.3, braces@~3.0.2:
|
|||
dependencies:
|
||||
fill-range "^7.1.1"
|
||||
|
||||
browserslist@^4.23.0:
|
||||
browserslist@^4.23.0, "browserslist@>= 4.21.0":
|
||||
version "4.23.0"
|
||||
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz"
|
||||
integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
|
||||
|
@ -401,16 +401,16 @@ color-convert@^2.0.1:
|
|||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
|
||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
|
||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||
|
||||
colorette@^2.0.20:
|
||||
version "2.0.20"
|
||||
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz"
|
||||
|
@ -543,7 +543,7 @@ dependency-graph@^0.11.0:
|
|||
|
||||
discontinuous-range@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
|
||||
resolved "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz"
|
||||
integrity sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==
|
||||
|
||||
duplexer2@~0.1.4:
|
||||
|
@ -765,16 +765,16 @@ get-east-asian-width@^1.0.0:
|
|||
resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz"
|
||||
integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==
|
||||
|
||||
get-stdin@=8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
|
||||
integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
|
||||
|
||||
get-stdin@^9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz"
|
||||
integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==
|
||||
|
||||
get-stdin@=8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz"
|
||||
integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
|
||||
|
||||
get-stream@^2.2.0:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz"
|
||||
|
@ -926,7 +926,7 @@ inflight@^1.0.4:
|
|||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2, inherits@~2.0.0, inherits@~2.0.3:
|
||||
inherits@~2.0.0, inherits@~2.0.3, inherits@2:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
@ -1061,7 +1061,7 @@ jsonfile@^6.0.1:
|
|||
|
||||
jsox@^1.2.118:
|
||||
version "1.2.119"
|
||||
resolved "https://registry.yarnpkg.com/jsox/-/jsox-1.2.119.tgz#decc12b6d3948d89460da6c5e144ee76c1d054ce"
|
||||
resolved "https://registry.npmjs.org/jsox/-/jsox-1.2.119.tgz"
|
||||
integrity sha512-f37obwxWKKuylcaOzNlUlzfDvURSCpqTXs8yEivhvsp86D/DTIySxP4v5Qdlg24qCuzDSZ0mJr3krc/f7TZ/5A==
|
||||
|
||||
keyv@^4.5.3:
|
||||
|
@ -1240,12 +1240,17 @@ minipass@^3.0.0:
|
|||
dependencies:
|
||||
yallist "^4.0.0"
|
||||
|
||||
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
|
||||
version "7.1.2"
|
||||
resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
|
||||
integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
|
||||
|
||||
minipass@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz"
|
||||
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
|
||||
|
||||
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
|
||||
minipass@^7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
|
||||
integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
|
||||
|
@ -1258,6 +1263,11 @@ minizlib@^2.1.1:
|
|||
minipass "^3.0.0"
|
||||
yallist "^4.0.0"
|
||||
|
||||
mkdirp@^1.0.3:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
|
||||
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
|
||||
|
||||
"mkdirp@>=0.5 0":
|
||||
version "0.5.6"
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz"
|
||||
|
@ -1265,14 +1275,9 @@ minizlib@^2.1.1:
|
|||
dependencies:
|
||||
minimist "^1.2.6"
|
||||
|
||||
mkdirp@^1.0.3:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
|
||||
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
|
||||
|
||||
moo@^0.5.0:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c"
|
||||
resolved "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz"
|
||||
integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==
|
||||
|
||||
ms@2.1.2:
|
||||
|
@ -1287,7 +1292,7 @@ nanoid@^3.3.7:
|
|||
|
||||
nearley@^2.20.1:
|
||||
version "2.20.1"
|
||||
resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.20.1.tgz#246cd33eff0d012faf197ff6774d7ac78acdd474"
|
||||
resolved "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz"
|
||||
integrity sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==
|
||||
dependencies:
|
||||
commander "^2.19.0"
|
||||
|
@ -1302,7 +1307,7 @@ node-releases@^2.0.14:
|
|||
|
||||
node-sql-parser@^4.12.0:
|
||||
version "4.18.0"
|
||||
resolved "https://registry.yarnpkg.com/node-sql-parser/-/node-sql-parser-4.18.0.tgz#516b6e633c55c5abbba1ca588ab372db81ae9318"
|
||||
resolved "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-4.18.0.tgz"
|
||||
integrity sha512-2YEOR5qlI1zUFbGMLKNfsrR5JUvFg9LxIRVE+xJe962pfVLH0rnItqLzv96XVs1Y1UIR8FxsXAuvX/lYAWZ2BQ==
|
||||
dependencies:
|
||||
big-integer "^1.6.48"
|
||||
|
@ -1508,7 +1513,7 @@ postcss-value-parser@^4.2.0:
|
|||
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
|
||||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||
|
||||
postcss@>=8.4.31:
|
||||
postcss@^8.0.0, postcss@^8.1.0, postcss@>=8.0.9, postcss@>=8.4.31:
|
||||
version "8.4.38"
|
||||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
|
||||
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
|
||||
|
@ -1519,7 +1524,7 @@ postcss@>=8.4.31:
|
|||
|
||||
prettier-plugin-sql@^0.18.0:
|
||||
version "0.18.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier-plugin-sql/-/prettier-plugin-sql-0.18.0.tgz#b30fdccf5da714b22233828d1f3536980faef485"
|
||||
resolved "https://registry.npmjs.org/prettier-plugin-sql/-/prettier-plugin-sql-0.18.0.tgz"
|
||||
integrity sha512-E7WXooLNtWyv79sYYHtQbfvXZ5B/OOR0ySBsB2evfrfvD4wJos1OKLBvVLC/a7+7YpG30bSUTgc2DEwz8ctPmQ==
|
||||
dependencies:
|
||||
jsox "^1.2.118"
|
||||
|
@ -1527,7 +1532,7 @@ prettier-plugin-sql@^0.18.0:
|
|||
sql-formatter "^15.0.2"
|
||||
tslib "^2.6.2"
|
||||
|
||||
prettier@^3.2.5:
|
||||
prettier@^3.0.3, prettier@^3.2.5:
|
||||
version "3.2.5"
|
||||
resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz"
|
||||
integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==
|
||||
|
@ -1559,12 +1564,12 @@ quick-lru@^5.1.1:
|
|||
|
||||
railroad-diagrams@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
|
||||
resolved "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz"
|
||||
integrity sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==
|
||||
|
||||
randexp@0.4.6:
|
||||
version "0.4.6"
|
||||
resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
|
||||
resolved "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz"
|
||||
integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==
|
||||
dependencies:
|
||||
discontinuous-range "1.0.0"
|
||||
|
@ -1643,7 +1648,7 @@ restore-cursor@^4.0.0:
|
|||
|
||||
ret@~0.1.10:
|
||||
version "0.1.15"
|
||||
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
|
||||
resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz"
|
||||
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
|
||||
|
||||
reusify@^1.0.4:
|
||||
|
@ -1656,13 +1661,6 @@ rfdc@^1.3.1:
|
|||
resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz"
|
||||
integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==
|
||||
|
||||
rimraf@2:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
|
||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
||||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
rimraf@^5.0.0:
|
||||
version "5.0.7"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz"
|
||||
|
@ -1670,6 +1668,13 @@ rimraf@^5.0.0:
|
|||
dependencies:
|
||||
glob "^10.3.7"
|
||||
|
||||
rimraf@2:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
|
||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
||||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
run-parallel@^1.1.9:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
|
||||
|
@ -1780,13 +1785,20 @@ spdx-license-ids@^3.0.0:
|
|||
|
||||
sql-formatter@^15.0.2:
|
||||
version "15.3.2"
|
||||
resolved "https://registry.yarnpkg.com/sql-formatter/-/sql-formatter-15.3.2.tgz#696fb84c3ce6d368b0d16248a605aa0e7a41751e"
|
||||
resolved "https://registry.npmjs.org/sql-formatter/-/sql-formatter-15.3.2.tgz"
|
||||
integrity sha512-pNxSMf5DtwhpZ8gUcOGCGZIWtCcyAUx9oLgAtlO4ag7DvlfnETL0BGqXaISc84pNrXvTWmt8Wal1FWKxdTsL3Q==
|
||||
dependencies:
|
||||
argparse "^2.0.1"
|
||||
get-stdin "=8.0.0"
|
||||
nearley "^2.20.1"
|
||||
|
||||
string_decoder@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
string-argv@~0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz"
|
||||
|
@ -1828,13 +1840,6 @@ string-width@^7.0.0:
|
|||
get-east-asian-width "^1.0.0"
|
||||
strip-ansi "^7.1.0"
|
||||
|
||||
string_decoder@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
|
||||
version "6.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||
|
@ -1944,7 +1949,7 @@ to-regex-range@^5.0.1:
|
|||
|
||||
tslib@^2.6.2:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0"
|
||||
resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz"
|
||||
integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
|
||||
|
||||
type-fest@^1.0.1:
|
||||
|
|
Loading…
Reference in New Issue