diff --git a/.github/vale/styles/Aiven/Headings.yml b/.github/vale/styles/Aiven/Headings.yml index c6b02511d..b8a040549 100644 --- a/.github/vale/styles/Aiven/Headings.yml +++ b/.github/vale/styles/Aiven/Headings.yml @@ -9,8 +9,11 @@ exceptions: - Active Directory - Aiven - Aiven Console + - Aiven Kubernetes Operator + - Aiven Operator for Kubernetes - Aiven Provider - Aiven Provider for Terraform + - Aiven Terraform Provider - Amazon - Amazon Aurora - Amazon Web Services diff --git a/docs/get-started.md b/docs/get-started.md index 5e796a13c..4d5671e5a 100644 --- a/docs/get-started.md +++ b/docs/get-started.md @@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem'; Aiven provides managed open source services for streaming, storing and analyzing data on all major clouds. All services run reliably and securely in the clouds of your choice, are observable, and can easily be integrated with each other and with external 3rd party tools. - +Illustration of the platform ## Discover the Aiven platform @@ -170,16 +170,11 @@ Add users to groups to streamline access management to your Aiven projects and s description="Create and add users to groups." /> - @@ -227,8 +222,8 @@ Add users to groups to streamline access management to your Aiven projects and s to="/docs/platform/howto/manage-application-users" iconName="clipboard" title="Create application users" - description="Use application users to access the API, - Terraform Provider, CLI, and Aiven Operator." + description="Use application users to access the Aiven API, + Terraform Provider, CLI, and Kubernetes Operator." /> diff --git a/docs/platform/concepts/application-users.md b/docs/platform/concepts/application-users.md index ef78cf69c..fdd1983da 100644 --- a/docs/platform/concepts/application-users.md +++ b/docs/platform/concepts/application-users.md @@ -4,7 +4,7 @@ title: Application users import ConsoleLabel from "@site/src/components/ConsoleIcons" -An application user is a type of user that provides programmatic access to the Aiven platform and services through the [Aiven API](/docs/tools/api.md), [CLI](/docs/tools/), [Terraform](/docs/tools/terraform.md), and [Kubernetes](/docs/tools/kubernetes.md). They're intended for non-human users that need to access Aiven. +An application user is a type of user that provides programmatic access to the Aiven platform and services through the [Aiven API](/docs/tools/api.md), [CLI](/docs/tools/), [Aiven Terraform Provider](/docs/tools/terraform.md), and [Aiven Kubernetes Operator](/docs/tools/kubernetes). They're intended for non-human users that need to access Aiven. :::info You must be a [super admin](/docs/platform/howto/make-super-admin) to access this feature. @@ -13,11 +13,11 @@ You must be a [super admin](/docs/platform/howto/make-super-admin) to access thi ## Application user permissions You [create and manage application users](/docs/platform/howto/manage-application-users) -at the organization level. Application users are granted access to projects -and services in the same way as organization users by adding them to -[projects](/docs/platform/howto/add-project-members) and assigning them a role. You can -also make application users super admin, giving them full access to your organization, -its organizational units, projects, services, and billing and other settings. +at the organization level and you +[give them access to projects and services](/docs/platform/howto/manage-permissions) +in the same way as organization users. You can also make application users super admin, +giving them full access to your organization, its organizational units, projects, +services, and billing and other settings. Unlike organization users, application users can't log in to the Aiven Console and the authentication policies don't apply to them. @@ -32,7 +32,7 @@ following are some suggested best practices for using Aiven application users. Try to create a different application user for each tool or application. For example, if you have an application that needs to connect to services in one of your projects and -you are using Terraform in the same project, create two application users. Use +you're using Aiven Terraform Provider in the same project, create two application users. Use the description field for each user to clearly indicate what it's used for. This helps you manage the lifecycle of the users and ensure the access permissions are diff --git a/docs/platform/concepts/byoc.md b/docs/platform/concepts/byoc.md index 85dfad6d2..cc285ad3e 100644 --- a/docs/platform/concepts/byoc.md +++ b/docs/platform/concepts/byoc.md @@ -54,8 +54,7 @@ needs or project requirements, such as: The BYOC setup is a bespoke service offered on a case-by-case basis, and not all cloud providers support it yet. You're eligible for BYOC if: -- You use Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure - (excluding Azure Germany), or Oracle Cloud Infrastructure (OCI). +- You use Amazon Web Services (AWS) or Google Cloud. - You have a commitment deal with Aiven. - You have the [Advanced or Premium support tier](/docs/platform/howto/support). diff --git a/docs/platform/concepts/enhanced-compliance-env.md b/docs/platform/concepts/enhanced-compliance-env.md index 303986f58..f05f7a1e5 100644 --- a/docs/platform/concepts/enhanced-compliance-env.md +++ b/docs/platform/concepts/enhanced-compliance-env.md @@ -41,7 +41,7 @@ accordingly. ## Similarities to a standard environment In many ways, an ECE is the same as a standard Aiven deployment. -Aiven's tooling, such as [CLI](/docs/tools/cli) and [Terraform](/docs/tools/terraform), +Aiven's tooling, such as [Aiven CLI](/docs/tools/cli) and [Aiven Terraform Provider](/docs/tools/terraform), interact with ECEs seamlessly, you will still be able to take advantage of Aiven's service integrations, and you can access the environment through VPC peering or Privatelink (on AWS or Azure). diff --git a/docs/platform/concepts/free-plan.md b/docs/platform/concepts/free-plan.md index 9643806ce..17940d8fb 100644 --- a/docs/platform/concepts/free-plan.md +++ b/docs/platform/concepts/free-plan.md @@ -25,8 +25,8 @@ Free plans include: - 1 GB RAM - For PostgreSQL and MySQL: 5 GB disk storage - For Valkey: `maxmemory` set to 50% -- Management via our web console, CLI, API, Terraform provider, or - Kubernetes® operator +- Management through the Aiven Console, CLI, API, Terraform Provider, or + Kubernetes Operator - Monitoring for metrics and logs - Backups - Integrations between different Aiven services including free, paid, diff --git a/docs/platform/concepts/free-trial.md b/docs/platform/concepts/free-trial.md index 14ce1cf06..3df35f239 100644 --- a/docs/platform/concepts/free-trial.md +++ b/docs/platform/concepts/free-trial.md @@ -2,7 +2,7 @@ title: 30-day trials --- -Aiven offers a free trial for 30 days to explore the platform - including the [Aiven Console](/docs/tools/aiven-console), [API](/docs/tools/api), [CLI](/docs/tools/cli), [Aiven Terraform provider](/docs/tools/terraform), and [Aiven Operator for Kubernetes](/docs/tools/kubernetes) - and the [Aiven services](/docs/products/services). You don't need a credit card to sign up. +Aiven offers a free trial for 30 days to explore the Aiven Data and AI Platform, including the [Aiven Console](/docs/tools/aiven-console), [API](/docs/tools/api), [CLI](/docs/tools/cli), [Aiven Provider for Terraform](/docs/tools/terraform), [Aiven Operator for Kubernetes®](/docs/tools/kubernetes), and the [Aiven services](/docs/products/services). You don't need a credit card to sign up. ## Trial features and limitations diff --git a/docs/platform/concepts/orgs-units-projects.md b/docs/platform/concepts/orgs-units-projects.md index 047a9ef3e..cc8b86008 100644 --- a/docs/platform/concepts/orgs-units-projects.md +++ b/docs/platform/concepts/orgs-units-projects.md @@ -29,7 +29,7 @@ Organizations also let you centrally manage settings like: the organization level, you can use billing groups across all projects in the organization and its units. You can't share billing information between organizations. - [Users](/docs/platform/concepts/user-access-management) and - [groups](/docs/platform/howto/list-groups): Managed at the organization level. You + [groups](/docs/platform/howto/manage-groups): Managed at the organization level. You can grant users and groups access at the organization and project level with [permissions and roles](/docs/platform/concepts/permissions). - [Domains](/docs/platform/howto/manage-domains) and diff --git a/docs/platform/concepts/service-forking.md b/docs/platform/concepts/service-forking.md index 929e65676..3a2223823 100644 --- a/docs/platform/concepts/service-forking.md +++ b/docs/platform/concepts/service-forking.md @@ -74,7 +74,7 @@ You can only fork services that have at least one [backup](/docs/platform/concep Apply any integrations required by the fork. - + 1. Prepare the command to create service, this will contain the new copy of your data store. @@ -95,6 +95,35 @@ avn service create forked --project PROJECT_NAME --cloud CLOUD_NAME -t pg --plan Apply any integrations required by the fork. + + + +Use the [`ServiceCreate` endpoint](https://api.aiven.io/doc/#tag/Service/operation/ServiceCreate) +and set the `service_to_fork_from` and `project_to_fork_from` parameters to specify the +source service in the `user_config` property. + +For example: + +```bash {11,12} +curl --location 'https://console.aiven.io/v1/project/dest-project/service' \ + --header 'Content-Type: application/json' \ + --header 'Authorization: token' \ + --data '{ + "cloud":"google-europe-central2", + "group_name":"default", + "plan":"business-4", + "service_name":"dest-name", + "service_type":"pg", + "user_config":{ + "service_to_fork_from":"source-service", + "project_to_fork_from":"source-project", + "pg_version":"16" + } + }' +``` + +Apply any integrations required by the fork. + diff --git a/docs/platform/concepts/service_backups.md b/docs/platform/concepts/service_backups.md index 22bf991f9..9a9eacf2e 100644 --- a/docs/platform/concepts/service_backups.md +++ b/docs/platform/concepts/service_backups.md @@ -280,8 +280,9 @@ data persistence using Redis Database Backup (RDB). #### Persistence settings -You can configure the `redis_persistence` settings from the **Advanced configuration** -section on your page in the [Aiven Console](https://console.aiven.io). +You can configure the `redis_persistence` settings from > +the **Configure backup settings** section on your page +in the [Aiven Console](https://console.aiven.io). - **Enabled (`rdb`)**: When you set `redis_persistence` to `rdb`, Aiven for Caching performs RDB dumps every 10 minutes whenever a key changes. These dumps provide diff --git a/docs/platform/concepts/tax-information.md b/docs/platform/concepts/tax-information.md index 659162451..57f3b705a 100644 --- a/docs/platform/concepts/tax-information.md +++ b/docs/platform/concepts/tax-information.md @@ -25,7 +25,7 @@ According to the tax treaty between Finland and the United States, no direct tax needs to be withheld from payments by American entities to Aiven. Although a W-8 form is not required to confirm this status, we're happy to provide a W-8BEN-E form describing Aiven's status. -Contact the [sales team](mailto:sales@aiven.io) to request one. +Contact [billing@aiven.io](mailto:billing@aiven.io) to request one. Aiven charges American sales taxes in several states in the United-States. The applicability of these taxes depends on various factors, such as the diff --git a/docs/platform/howto/add-groups-projects.md b/docs/platform/howto/add-groups-projects.md deleted file mode 100644 index 67780019b..000000000 --- a/docs/platform/howto/add-groups-projects.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Add groups to projects ---- - -import ConsoleLabel from "@site/src/components/ConsoleIcons" - -Give [groups](/docs/platform/howto/manage-groups) of organization users access to a project and the services in it by adding groups to it. When you add a group, you grant permissions to all users in the group by assigning the group [roles and permissions](/docs/platform/concepts/permissions) for that specific project. - -## Add groups to a project - -1. In the project, click . -1. Click **Add groups**. -1. Select the groups to add to the project. -1. Select the **Roles** to assign to all users in the selected groups. -1. Click **Add groups**. - -You can change a group's roles or remove it from a project later from -the for that group. - -## Related pages - -- [Manage projects](/docs/platform/howto/manage-project) -- [Permissions](/docs/platform/concepts/permissions) diff --git a/docs/platform/howto/add-project-members.md b/docs/platform/howto/add-project-members.md deleted file mode 100644 index 408eadcd1..000000000 --- a/docs/platform/howto/add-project-members.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Add users and groups to projects ---- - -import ConsoleLabel from "@site/src/components/ConsoleIcons" - - -You can give [users in your organization](/docs/platform/howto/manage-groups) access to a project and the services in it by adding them to the project. - -Users can be added individually or as part of a user -[group](/docs/platform/howto/list-groups): - -1. In the project, click . - -1. Click **Add users** and select **Add users** or **Add groups**. - -1. Select the users or groups to add to the project. - -1. Select a **Role**. The [role](/docs/platform/concepts/permissions) - will be assigned to all users in all selected groups. - -1. Click **Add users** or **Add groups**. diff --git a/docs/platform/howto/byoc/create-custom-cloud.md b/docs/platform/howto/byoc/create-custom-cloud.md index 3fb67629a..32f825328 100644 --- a/docs/platform/howto/byoc/create-custom-cloud.md +++ b/docs/platform/howto/byoc/create-custom-cloud.md @@ -1,7 +1,7 @@ --- title: Create a custom cloud sidebar_label: Create custom clouds -keywords: [AWS, Amazon Web Services, Microsoft Azure, GCP, Google Cloud Platform, byoc, bring your own cloud, custom cloud, OCI, Oracle Cloud Infrastructure] +keywords: [AWS, Amazon Web Services, GCP, Google Cloud Platform, byoc, bring your own cloud, custom cloud] --- import ConsoleLabel from "@site/src/components/ConsoleIcons"; @@ -63,15 +63,6 @@ Next, you deploy your custom cloud resources supplying the generated privilege-b as a parameter. Finally, you select in which Aiven projects to use your custom cloud, and you assign a contact person for your custom cloud. - -If you use Azure or OCI as a cloud provider, you'll have your -custom cloud created by the Aiven team. Just -[enable the BYOC feature](/docs/platform/howto/byoc/enable-byoc) and specify your -requirements. The Aiven team will build your custom cloud according to the specification -you provide. There are no further actions required from you to create your custom cloud. -The Aiven team might reach out to you for more details and will follow up with you to keep -you informed on the progress. - ## Limitations {#byoc-limitations} @@ -85,11 +76,6 @@ you informed on the progress. Contact your account team to learn more or upgrade your support tier. ::: -- You can create custom clouds yourself (via the BYOC self-service) if your cloud - provider is AWS (in the [Aiven Console](https://console.aiven.io/)) or GCP (via [Aiven - CLI client](/docs/tools/cli/byoc)). - For Azure & OCI, [request creating a custom cloud](/docs/platform/howto/byoc/enable-byoc) - from the Aiven team. - Only [super admins](/docs/platform/howto/make-super-admin) can create custom clouds. ## Prerequisites {#byoc-prerequisites} @@ -100,7 +86,7 @@ you informed on the progress. - You have an active account with your cloud provider. - Depending on the dev tool to use for creating a custom cloud, you have: - Access to the [Aiven Console](https://console.aiven.io/) or - - [Aiven CLI client](/docs/tools/cli) installed + - [Aiven CLI](/docs/tools/cli) installed - You have the [super admin](/docs/platform/howto/make-super-admin) role in your Aiven organization. - You have Terraform installed. @@ -120,10 +106,6 @@ you informed on the progress. - [Aiven Console](https://console.aiven.io/) > \> . - - -You have access to the [Aiven Console](https://console.aiven.io/) to -[enable the BYOC feature](/docs/platform/howto/byoc/enable-byoc). @@ -508,9 +490,6 @@ For more information on Google Cloud roles, see [IAM basic and predefined roles reference](https://cloud.google.com/iam/docs/understanding-roles) in the Goodle Cloud documentation. - -The Aiven team will talk to you to determine required permissions. - ## Create a custom cloud {#create-cloud} @@ -931,11 +910,6 @@ Your new custom cloud is ready to use only after its status changes to extract from the output of the [avn byoc list](/docs/tools/cli/byoc#avn-byoc-list) command, for example `018b6442-c602-42bc-b63d-438026133f60`. - - -To integrate with the Azure or OCI cloud providers, you'll have your custom cloud created -by the Aiven team. [Enable the BYOC feature](/docs/platform/howto/byoc/enable-byoc) and -follow up with the Aiven team from there. diff --git a/docs/platform/howto/byoc/enable-byoc.md b/docs/platform/howto/byoc/enable-byoc.md index f5795ec43..1a4f76764 100644 --- a/docs/platform/howto/byoc/enable-byoc.md +++ b/docs/platform/howto/byoc/enable-byoc.md @@ -71,11 +71,8 @@ You must be a [super admin](/docs/platform/howto/make-super-admin) to enable thi ## Next steps -With BYOC activated in your Aiven organization, you can create and use custom -clouds: - -- [By yourself if using AWS or GCP](/docs/platform/howto/byoc/create-custom-cloud#create-cloud). -- By contacting the Aiven team if using Azure or OCI. +With BYOC activated in your Aiven organization, you can +[create and use custom clouds](/docs/platform/howto/byoc/create-custom-cloud). ## Related pages diff --git a/docs/platform/howto/disk-autoscaler.md b/docs/platform/howto/disk-autoscaler.md index f32717f36..4e41dbb63 100644 --- a/docs/platform/howto/disk-autoscaler.md +++ b/docs/platform/howto/disk-autoscaler.md @@ -78,8 +78,8 @@ listed on [Aiven Plans and Pricing](https://aiven.io/pricing?product=kafka). - Disk autoscaling works on fully running services only and cannot happen during maintenance updates. - If you change disk space manually, you might delay an autoscaling process. -- When using Aiven Autoscaler, don't try to control your disk space with Terraform - so that you avoid potential conflicts between those two tools. +- When using Aiven Autoscaler, don't try to control your disk space with the Aiven + Terraform Provider to avoid potential conflicts between those two tools. - Disk added for extra storage is slower than the original disk until service maintenance is applied. This may have performance implications depending on the load on your service. Dynamically adding disk (either manually or in an automated fashion) may not be diff --git a/docs/platform/howto/download-invoices.md b/docs/platform/howto/download-invoices.md new file mode 100644 index 000000000..c06dfaf20 --- /dev/null +++ b/docs/platform/howto/download-invoices.md @@ -0,0 +1,15 @@ +--- +title: Download invoices +--- + +import ConsoleLabel from "@site/src/components/ConsoleIcons" + +You can download monthly invoices from the Aiven Console in PDF or CSV format. + +:::info +You must be a [super admin](/docs/platform/howto/make-super-admin) to access this feature. +::: + +1. Click **Billing**. +1. Click **Invoices**. +1. Click > **Download PDF** or **Download CSV**. diff --git a/docs/platform/howto/list-groups.md b/docs/platform/howto/list-groups.md deleted file mode 100644 index c8a2a4778..000000000 --- a/docs/platform/howto/list-groups.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Groups ---- - -Browse through instructions for common admin tasks related to managing -your organization's user groups. diff --git a/docs/platform/howto/manage-groups.md b/docs/platform/howto/manage-groups.md index ef2d10d3f..73d2ad8c1 100644 --- a/docs/platform/howto/manage-groups.md +++ b/docs/platform/howto/manage-groups.md @@ -4,19 +4,22 @@ title: Manage groups of users import ConsoleLabel from "@site/src/components/ConsoleIcons" -Create groups of users in your organization to make it easier to [give users with similar roles access to projects](/docs/platform/howto/add-groups-projects). +Create groups of users in your organization to make it easier to manage access to your organization's resources. + +You can [grant permissions](/docs/platform/howto/manage-permissions) to groups +for projects, giving them the right level of access to the project and its services. ## Create a group To create a group in an organization: - + 1. Click **Admin** > **Groups**. 1. Click **Create group**. 1. Enter a unique name for the group. You can also enter a description. 1. Optional: To assign users to the group, click the toggle and choose the users to add. 1. Click **Create group**. - + ## Add users to a group You can only add users that are diff --git a/docs/platform/howto/manage-organizations.md b/docs/platform/howto/manage-organizations.md index ab427d1d9..4b795afd4 100644 --- a/docs/platform/howto/manage-organizations.md +++ b/docs/platform/howto/manage-organizations.md @@ -2,24 +2,26 @@ title: Manage organizations --- +Learn how to manage your organizations via the Aiven Console. + ## Delete an organization 1. Delete all [projects](/docs/platform/howto/manage-project) in the organization and in the organizational units. -2. Click **Admin**. -3. Click **Organization**. -4. Open each organizational unit by clicking its name then click +1. Click **Admin**. +1. Click **Organization**. +1. Open each organizational unit by clicking its name then click **Delete** to delete it. -5. After all the organizational units have been deleted, on the +1. After all the organizational units have been deleted, on the **Organization** page click **Delete**. -6. Confirm to delete the organization by clicking +1. Confirm to delete the organization by clicking **Delete**. ## Rename an organization 1. In the organization, click **Admin**. -2. Click **Organization**. -3. Click **Rename**. -4. Select **Rename**. -5. Enter the new name. -6. Click **Rename**. +1. Click **Organization**. +1. Click **Rename**. +1. Select **Rename**. +1. Enter the new name. +1. Click **Rename**. diff --git a/docs/platform/howto/manage-permissions.md b/docs/platform/howto/manage-permissions.md index 8397797d4..f51fb475b 100644 --- a/docs/platform/howto/manage-permissions.md +++ b/docs/platform/howto/manage-permissions.md @@ -1,27 +1,46 @@ --- -title: Manage project roles and permissions +title: Manage permissions --- import ConsoleLabel from "@site/src/components/ConsoleIcons" +import {ConsoleIcon} from "@site/src/components/ConsoleIcons" -You can assign project [roles and permissions](/docs/platform/concepts/permissions) to organization users, application users, and groups. This gives these users access to a specific project and its services. Each user or group can have multiple roles and a combination of roles and permissions. +You can give users and groups access to a project and the services in it by granting them roles and permissions for that project. -## Add users and groups to projects +## Grant project permissions to a user or group 1. In the project, click . -1. Click **Add users** and select **Add users** or **Add groups**. +1. Click **Grant permissions** and select **Grant to users** or **Grant to groups**. 1. Select the users or groups to add to the project. -1. Select a **Role**. The [role](/docs/platform/concepts/permissions) - will be assigned to all users in all selected groups. +1. Select the [roles and permissions](/docs/platform/concepts/permissions) to grant. -1. Click **Add users** or **Add groups**. +1. Click **Grant permissions**. ## Change permissions for a user or group -1. In the project, click **Permissions**. -1. Find the user or group, click > - **Edit permissions**. -1. Edit the permissions and click **Save changes**. +1. In the project, click . + +1. For the user or group click > + **Edit permissions**. + +1. Add or remove permissions and click **Save changes**. + +## Remove access to a project + +:::important +When you remove permissions from a user or group, service credentials are not changed. +Users can still directly access services if they know the service credentials. To prevent +this type of access, reset all service passwords. +::: + +To remove all permissions to a project: + +1. In the project, click . + +1. For the user or group click > + **Remove**. + +1. Click **Remove user** or **Remove group** to confirm. diff --git a/docs/platform/howto/manage-project.md b/docs/platform/howto/manage-project.md index 48dce4f52..e1a5b0904 100644 --- a/docs/platform/howto/manage-project.md +++ b/docs/platform/howto/manage-project.md @@ -5,12 +5,14 @@ title: Manage projects import ConsoleLabel from "@site/src/components/ConsoleIcons" import {ConsoleIcon} from "@site/src/components/ConsoleIcons" +Learn how to manage your projects with the Aiven Console. + ## Create a project 1. Click and select **Create project**. -2. Enter a name for the project. -3. Select an organization or organizational unit to add the project to. -4. Select a [billing group](/docs/platform/concepts/billing-groups-overview). +1. Enter a name for the project. +1. Select an organization or organizational unit to add the project to. +1. Select a [billing group](/docs/platform/concepts/billing-groups-overview). The costs from all services in this project are charged to the payment method for this billing group. diff --git a/docs/platform/howto/migrate-services-vpc.md b/docs/platform/howto/migrate-services-vpc.md index 0c8e994f5..00d7081f0 100644 --- a/docs/platform/howto/migrate-services-vpc.md +++ b/docs/platform/howto/migrate-services-vpc.md @@ -52,9 +52,9 @@ up correctly. ## Initial setup Before you begin, make sure you have created your VPC and that peering -is active. Automating this process with Terraform is an option. For +is active. Automating this process with the Aiven Terraform Provider is an option. For guidance, refer to -[setting up VPC peering](/docs/platform/howto/manage-vpc-peering#platform_howto_setup_vpc_peering) on the Aiven platform. +[setting up VPC peering](/docs/platform/howto/manage-vpc-peering#platform_howto_setup_vpc_peering) on the Aiven Platform. To illustrate the process, we will use the `google-us-east1` VPC as a reference. Ensure both your VPC and its peering connection are in an diff --git a/docs/platform/howto/payment-methods.md b/docs/platform/howto/payment-methods.md index a24d56e41..4a38e8bbb 100644 --- a/docs/platform/howto/payment-methods.md +++ b/docs/platform/howto/payment-methods.md @@ -37,4 +37,4 @@ can also be sent in the following currencies: Invoices in different currencies are created based on the exchange rates on the date of the invoice. To switch from credit card charges to bank transfers, -contact [sales@aiven.io](mailto:sales@aiven.io) to request invoice billing. +contact [billing@aiven.io](mailto:billing@aiven.io) to request invoice billing. diff --git a/docs/platform/howto/set-authentication-policies.md b/docs/platform/howto/set-authentication-policies.md index 1147565c9..b46978537 100644 --- a/docs/platform/howto/set-authentication-policies.md +++ b/docs/platform/howto/set-authentication-policies.md @@ -53,8 +53,9 @@ the Aiven API. When you turn off personal tokens, managed users can't create personal tokens. Non-managed users can still create personal tokens, but they can't use them to access the organization's resources. -To regularly manage your resources programmatically with the API, CLI, Terraform, -or other applications, it's best to create an [application user](/docs/platform/howto/manage-application-users) with its own tokens. +To regularly manage your resources programmatically with the Aiven API, CLI, +Terraform Provider, or other applications, it's best to create an +[application user](/docs/platform/howto/manage-application-users) with its own tokens. Personal tokens are generated with the authentication method that the user logged in with. Tokens are linked to the authentication method they are created with. You can ensure that diff --git a/docs/platform/howto/use-aws-privatelinks.md b/docs/platform/howto/use-aws-privatelinks.md index c8284172c..add10042a 100644 --- a/docs/platform/howto/use-aws-privatelinks.md +++ b/docs/platform/howto/use-aws-privatelinks.md @@ -28,8 +28,17 @@ To set up AWS PrivateLink, use the [Aiven CLI](/docs/tools/cli). You also need the AWS console or CLI to create a VPC endpoint. -**Note:** Aiven for Apache Cassandra® and Aiven for M3 services do not -currently support AWS PrivateLink. +:::note +AWS PrivateLink is not supported in: + +- Aiven for AlloyDB Omni +- Aiven for Apache Cassandra® +- Aiven for Apache Flink® +- Aiven for Apache Kafka® MirrorMaker 2 +- Aiven for M3 +- Aiven for Metrics + +::: 1. Create an AWS PrivateLink resource on the Aiven service. @@ -155,7 +164,7 @@ currently support AWS PrivateLink. As a result, PrivateLink connection details are added to the **Connection information** section on the service . - + Screenshot of the configuration It takes a couple of minutes before connectivity is available after you enable a service component. This is because AWS requires an AWS diff --git a/docs/platform/howto/vpc-peering-upcloud.md b/docs/platform/howto/vpc-peering-upcloud.md index 7c9309a8d..3e8138246 100644 --- a/docs/platform/howto/vpc-peering-upcloud.md +++ b/docs/platform/howto/vpc-peering-upcloud.md @@ -95,7 +95,7 @@ The peering becomes active and the traffic is shared only after you create the p both from the source network and from the target network. ::: - +Create network peering ### Use the UpCloud API{#upcloud-api} diff --git a/docs/platform/reference/eol-for-major-versions.md b/docs/platform/reference/eol-for-major-versions.md index 1238bfb77..bc7fe38ae 100644 --- a/docs/platform/reference/eol-for-major-versions.md +++ b/docs/platform/reference/eol-for-major-versions.md @@ -92,6 +92,7 @@ after they are made available on the Aiven platform. | 3.5 | 2024-07-31 | 2024-03-30 | 2023-07-31 | | 3.6 | 2024-10-18 | 2024-09-01 | 2023-10-18 | | 3.7 | 2025-04-17 | 2025-01-17 | 2024-04-17 | +| 3.8 | 2026-09-03 | 2026-06-03 | 2024-09-06 | ### Aiven for Apache Cassandra® {#h_0f2929c770} @@ -158,7 +159,7 @@ tool to test the version upgrade before upgrading their production services. ## Aiven tools -Aiven offers multiple tools for interacting with the Aiven platform and +Aiven offers multiple tools for interacting with the Aiven Platform and services. These include the Aiven CLI, the Aiven Provider for Terraform, and the Aiven Operator for Kubernetes®. @@ -187,7 +188,7 @@ or bug fixes after the EOL date. | 3.x | 2023-12-31 | | 4.x | To be announced | -### Aiven Operator for Kubernetes +### Aiven Operator for Kubernetes® | Version | Aiven EOL | | ------- | --------------- | diff --git a/docs/platform/reference/service-ip-address.md b/docs/platform/reference/service-ip-address.md index 1cb0acfa2..c68222c7b 100644 --- a/docs/platform/reference/service-ip-address.md +++ b/docs/platform/reference/service-ip-address.md @@ -2,11 +2,14 @@ title: Default service IP address and hostname --- +When a new Aiven service is created, it automatically gets a hostname and one or more public IP addresses. + ## Default service IP address -When a new Aiven service is created, the chosen cloud service provider -will dynamically assign one or more public IP address from their -connection pool. This IP address is not permanent, and with every +The chosen cloud service provider will dynamically assign one or more public IP +address from their connection pool. + +This IP address is not permanent, and with every service maintenance (in case of failover, maintenance upgrade or cloud migration) the IP address changes since Aiven creates a new node, migrates the existing data to it and retire the old node. diff --git a/docs/products/caching.md b/docs/products/caching.md index 2b73722c6..20eebe743 100644 --- a/docs/products/caching.md +++ b/docs/products/caching.md @@ -38,7 +38,7 @@ use: - **DevOps-friendly management and development:** Manage your caching solution using [Aiven Console](https://console.aiven.io/), [Aiven CLI](https://github.com/aiven/aiven-client), or - [Terraform](/docs/tools/terraform) . + [Aiven Provider for Terraform](/docs/tools/terraform) . Features like scaling, forking, and upgrading your Aiven for Caching cluster are simple and efficient. Compatible with open-source software, it integrates with your existing applications and facilitates cloud and regional migrations. diff --git a/docs/products/caching/howto/connect-node.md b/docs/products/caching/howto/connect-node.md index b7deb2b1a..6530387d9 100644 --- a/docs/products/caching/howto/connect-node.md +++ b/docs/products/caching/howto/connect-node.md @@ -7,7 +7,6 @@ import MyComponentSource1 from '!!raw-loader!/code/products/redis/connect.js'; Learn how to connect to an Aiven for Caching service using NodeJS with the `ioredis` library. - ## Variables Replace the following placeholders in the code sample with actual values diff --git a/docs/products/cassandra/get-started.md b/docs/products/cassandra/get-started.md index 24b4eb8c0..1ded0874f 100644 --- a/docs/products/cassandra/get-started.md +++ b/docs/products/cassandra/get-started.md @@ -114,7 +114,7 @@ Create an Aiven for Apache Cassandra service using the Aiven Provider for Terraf The resource can stay in the `REBUILDING` state for a couple of minutes. Once the state changes to `RUNNING`, you are ready to access it. - + Create an Aiven for Apache Cassandra service using the Aiven Operator for Kubernetes. 1. [Get authenticated and authorized](https://aiven.github.io/aiven-operator/authentication.html). @@ -252,7 +252,7 @@ See attributes available for the `aiven_cassandra` resource in The resource can stay in the `REBUILDING` state for a couple of minutes. Once the state changes to `RUNNING`, you are ready to access it. - + :::note Your changes can force the recreation of the `aiven_cassandra` resource. ::: diff --git a/docs/products/clickhouse/concepts/data-integration-overview.md b/docs/products/clickhouse/concepts/data-integration-overview.md index 3b2901b82..a72514334 100644 --- a/docs/products/clickhouse/concepts/data-integration-overview.md +++ b/docs/products/clickhouse/concepts/data-integration-overview.md @@ -1,6 +1,6 @@ --- -title: Aiven for ClickHouse® data service integration -sidebar_label: Data integration +title: Aiven for ClickHouse® service integrations +sidebar_label: Integrations keywords: [data service integration, data source integration, managed credentials integration, managed databases integration, named collections] --- @@ -43,13 +43,15 @@ services. Depending on where the services are located, you can have either integrations between Aiven-managed services or external integrations (between an Aiven service and an external data source or application). +## Data source integrations + For integrating with external data sources, Aiven for ClickHouse provides two types of data service integrations: - [Managed databases](/docs/products/clickhouse/concepts/data-integration-overview#managed-databases-integration) - [Managed credentials](/docs/products/clickhouse/concepts/data-integration-overview#managed-credentials-integration) -## Managed credentials integration +### Managed credentials integration The managed credentials integration uses the [ClickHouse named collections](https://clickhouse.com/docs/en/operations/named-collections) @@ -78,7 +80,7 @@ For information on how table engines work in Aiven for ClickHouse services, prev For the list of table engines available in Aiven for ClickHouse, check [Supported table engines](/docs/products/clickhouse/reference/supported-table-engines). -## Managed databases integration +### Managed databases integration The managed databases integration allows using a database engine for handling your external data. When enabled, this type of integration provides you with an automatically @@ -95,7 +97,7 @@ For information on how database engines work in Aiven for ClickHouse services, p For more information on ClickHouse database engines, see [Database engines](https://clickhouse.com/docs/en/engines/database-engines). -## Supported data source types +### Supported data source types Depending on a data source type, Aiven for ClickHouse supports different integration modes. @@ -107,6 +109,23 @@ Depending on a data source type, Aiven for ClickHouse supports different integra | ClickHouse | | | | | Amazon S3 | | | | +## Data flow and residency in integrations + +### How data is pulled in and distributed + +If you integrate a multi-node Aiven for ClickHouse service with another Aiven-managed +service or an external endpoint, one of the Aiven for ClickHouse service nodes connects +to the other integrating entity. If the data that is read from this entity is persisted in +the Aiven for ClickHouse service, this data is replicated across all the nodes in the +cluster. + +### Where data resides upon integration + +When you integrate Aiven for ClickHouse with another Aiven-managed service or an external +endpoint, by default, data resides outside the Aiven for ClickHouse service in its original +source. Queries aggregate data across sources, and the integrated data is accessed as +needed in real-time or near-real-time. + ## Related pages - [Set up Aiven for ClickHouse® data service integration](/docs/products/clickhouse/howto/data-service-integration) diff --git a/docs/products/clickhouse/get-started.md b/docs/products/clickhouse/get-started.md index 03e00558a..f877eb985 100644 --- a/docs/products/clickhouse/get-started.md +++ b/docs/products/clickhouse/get-started.md @@ -110,7 +110,7 @@ Depending on a dev tool to use for working with Aiven for ClickHouse: ``` - + Create an Aiven for ClickHouse service using the Aiven Operator for Kubernetes. @@ -250,7 +250,7 @@ For all the attributes available for the `aiven_clickhouse` resource, see 1. Run `terraform plan` > `terraform apply --auto-approve`. - + 1. Update file `example.yaml`: - Add `service_log: true` and `terminationProtection: true`. diff --git a/docs/products/clickhouse/howto/connect-with-php.md b/docs/products/clickhouse/howto/connect-with-php.md index 04ef2397d..20e345d3d 100644 --- a/docs/products/clickhouse/howto/connect-with-php.md +++ b/docs/products/clickhouse/howto/connect-with-php.md @@ -2,8 +2,7 @@ title: Connect to the Aiven for ClickHouse® service with PHP --- -Learn how to connect to your Aiven for ClickHouse® service with PHP -using the PHP ClickHouse client and the HTTPS port. +Learn how to connect to your Aiven for ClickHouse® service with PHP using the PHP ClickHouse client and the HTTPS port. ## Prerequisites diff --git a/docs/products/clickhouse/howto/list-connect-to-service.md b/docs/products/clickhouse/howto/list-connect-to-service.md index af98c196c..de7ca44b9 100644 --- a/docs/products/clickhouse/howto/list-connect-to-service.md +++ b/docs/products/clickhouse/howto/list-connect-to-service.md @@ -4,4 +4,6 @@ title: Connect to your Aiven for ClickHouse® service import DocCardList from '@theme/DocCardList'; +Discover the various ways to connect to your Aiven for ClickHouse® service. + diff --git a/docs/products/flink/howto/ext-kafka-flink-integration.md b/docs/products/flink/howto/ext-kafka-flink-integration.md index bd70aaace..77a7a10fe 100644 --- a/docs/products/flink/howto/ext-kafka-flink-integration.md +++ b/docs/products/flink/howto/ext-kafka-flink-integration.md @@ -117,13 +117,24 @@ Where: and ports to connect to. - `security_protocol`: The type of security protocol to use for the connection, which is `SASL` in this case. - - `ssl_ca_cert`: The path to the SSL CA certificate. - - `ssl_client_cert`: The path to the SSL client certificate. - - `ssl_client_key`: The path to the SSL client key. + - `ssl_ca_cert`: The content of the SSL CA certificate. + - `ssl_client_cert`: The content of the SSL client certificate. + - `ssl_client_key`: The content of the SSL client key. - `ssl_endpoint_identification_algorithm`: The endpoint identification algorithm to use for SSL verification. For example, `https`. +:::important +After downloading your keys or certificates, ensure the cipher is on its own line, +and the PEM markers are delimited by a line feed, following the +guidelines in [RFC 1421](https://www.rfc-editor.org/rfc/rfc1421#section-4.4). + +Use the following bash command to format the content correctly: +``` +cat $downloaded_cert_or_key | tr -d '\n' | sed 's/\([EY]---[-]*\)\([^-]\)/\1\n\2/g;s/\(=\)\(---[-]*\)/\1\n\2/g' +``` +::: + #### SASL_PLAINTEXT To create a SASL_PLAINTEXT protocol type endpoint, use the following diff --git a/docs/products/flink/howto/upgrade-flink-version.md b/docs/products/flink/howto/upgrade-flink-version.md index 7ea4eaa62..7451ab9a8 100644 --- a/docs/products/flink/howto/upgrade-flink-version.md +++ b/docs/products/flink/howto/upgrade-flink-version.md @@ -22,8 +22,8 @@ receiving support and take advantage of the latest enhancements. ### Step 1: Create an Aiven for Apache Flink service 1. Create an Aiven for Apache Flink service using the - [Aiven Console](https://console.aiven.io/), [Aiven Client](/docs/tools/cli/service/flink), - or [Terraform](/docs/tools/terraform) (provider version 4.19.0). + [Aiven Console](https://console.aiven.io/), [Aiven CLI](/docs/tools/cli/service/flink), + or [Aiven Provider for Terraform](/docs/tools/terraform) (provider version 4.19.0). 1. Select Apache Flink 1.19 as the deployment version for the Aiven for Apache Flink service. diff --git a/docs/products/grafana.md b/docs/products/grafana.md index 70eea0af3..4992fbb03 100644 --- a/docs/products/grafana.md +++ b/docs/products/grafana.md @@ -60,8 +60,7 @@ performance. ### Automation You can also automate the process of building, configuring, and managing -Aiven services by including your Aiven infrastructure in your -[Terraform](/docs/tools/terraform/get-started) tooling. +Aiven services using the [Aiven Provider for Terraform](/docs/tools/terraform/get-started). ## Related pages diff --git a/docs/products/grafana/concepts/grafana-features.md b/docs/products/grafana/concepts/grafana-features.md index 0d8b2ba49..04e4b4c91 100644 --- a/docs/products/grafana/concepts/grafana-features.md +++ b/docs/products/grafana/concepts/grafana-features.md @@ -60,5 +60,4 @@ performance. ## Automation You can also automate the process of building, configuring, and managing -Aiven services by including your Aiven infrastructure in your -[Terraform](/docs/tools/terraform/get-started) tooling. +Aiven services using the [Aiven Provider for Terraform](/docs/tools/terraform/get-started). diff --git a/docs/products/kafka/concepts/kafka-rest-api.md b/docs/products/kafka/concepts/kafka-rest-api.md index 83e4357fb..2e549d80d 100644 --- a/docs/products/kafka/concepts/kafka-rest-api.md +++ b/docs/products/kafka/concepts/kafka-rest-api.md @@ -2,9 +2,7 @@ title: Apache Kafka® REST API --- -[Karapace](https://github.com/aiven/karapace) provides a RESTful -interface to your Apache Kafka® cluster, allowing you to produce and -consume messages and perform administrative cluster work. +[Karapace](https://github.com/aiven/karapace) provides a RESTful interface to your Apache Kafka® cluster, allowing you to produce and consume messages and perform administrative cluster work. Authorization can be enabled for Apache Kafka® REST APIs using Apache Kafka® REST proxy authorization. The authorization rules are based on diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.md b/docs/products/kafka/concepts/tiered-storage-how-it-works.md index e0831bd0b..74e213f46 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.md +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.md @@ -3,6 +3,8 @@ title: How tiered storage works in Aiven for Apache Kafka® sidebar_label: How it works --- +import DataRetention from "@site/static/images/content/figma/data-retention.png"; + Aiven for Apache Kafka® tiered storage optimizes data management across two distinct storage tiers: - **Local tier**: Uses faster, typically more expensive storage solutions @@ -37,7 +39,7 @@ retention threshold. This continues until the remote tier is back online, at whi point the excess local data is transferred to remote storage, and local segments exceeding the retention threshold are removed. -![Diagram depicting the concept of local vs. remote data retention in a tiered storage system.](/images/content/products/kafka/tiered-storage/data-retention.png) +Diagram depicting the concept of local vs. remote data retention in a tiered storage system ## Segment management diff --git a/docs/products/kafka/concepts/upgrade-procedure.md b/docs/products/kafka/concepts/upgrade-procedure.md index a30751826..9d2618730 100644 --- a/docs/products/kafka/concepts/upgrade-procedure.md +++ b/docs/products/kafka/concepts/upgrade-procedure.md @@ -25,7 +25,7 @@ This example demonstrates the steps in the automated upgrade procedure for a 3-node Apache Kafka service, visualized below: - +3-node Kafka service During an upgrade procedure: @@ -40,7 +40,7 @@ During an upgrade procedure: 1. **Transfer data and leadership:** The partition data and leadership are transferred to new nodes. - + Kafka cluster illustration :::warning This step is CPU intensive due to the additional data movement @@ -58,7 +58,7 @@ During an upgrade procedure: 1. **Complete process**: The process is completed once the last old node has been removed from the cluster. - + Kafka cluster new node illustration ## No downtime during upgrade diff --git a/docs/products/kafka/howto/enable-follower-fetching.md b/docs/products/kafka/howto/enable-follower-fetching.md index f40bc7483..c635a740b 100644 --- a/docs/products/kafka/howto/enable-follower-fetching.md +++ b/docs/products/kafka/howto/enable-follower-fetching.md @@ -96,7 +96,7 @@ Parameters: -1. Add the Aiven Terraform provider to the `required_providers` block in your Terraform +1. Add the Aiven Terraform Provider to the `required_providers` block in your Terraform configuration: ```hcl diff --git a/docs/products/kafka/howto/fake-sample-data.md b/docs/products/kafka/howto/fake-sample-data.md index 7f6a578b6..e25eaf0a5 100644 --- a/docs/products/kafka/howto/fake-sample-data.md +++ b/docs/products/kafka/howto/fake-sample-data.md @@ -3,9 +3,7 @@ title: Sample dataset generator for Aiven for Apache Kafka® sidebar_label: Sample data --- -Learning to work with streaming data is much more fun with data, so to -get you started on your Apache Kafka® journey we help you create fake -streaming data to a topic. +Learn to work with streaming data with sample data to get you started on your Apache Kafka® journey. :::note The following example is based on [Docker](https://www.docker.com/) @@ -30,9 +28,9 @@ To start using the generator: git clone https://github.com/aiven/fake-data-producer-for-apache-kafka-docker ``` -2. Copy the file `conf/env.conf.sample` to `conf/env.conf` +1. Copy the file `conf/env.conf.sample` to `conf/env.conf` -3. Create a [token](/docs/platform/howto/create_authentication_token) in the Aiven +1. Create a [token](/docs/platform/howto/create_authentication_token) in the Aiven Console or using the following command in the [Aiven CLI](/docs/tools/cli), changing the `max-age-seconds` appropriately for the duration of @@ -53,7 +51,7 @@ To start using the generator: the token. ::: -4. Edit the `conf/env.conf` file filling the following placeholders: +1. Edit the `conf/env.conf` file filling the following placeholders: - `my_project_name`: the name of your Aiven project - `my_kafka_service_name`: the name of your Aiven for Apache Kafka @@ -64,7 +62,7 @@ To start using the generator: - `my_aiven_token`: the personal token generated during the previous step -5. Build the Docker image with: +1. Build the Docker image with: ``` docker build -t fake-data-producer-for-apache-kafka-docker . @@ -75,13 +73,13 @@ To start using the generator: rebuild the Docker image to start using them. ::: -6. Start the streaming data flow with: +1. Start the streaming data flow with: ``` docker run fake-data-producer-for-apache-kafka-docker ``` -7. Once the Docker image is running, check in the target Aiven for +1. Once the Docker image is running, check in the target Aiven for Apache Kafka® service that the topic is populated. This can be done with the [Aiven Console](https://console.aiven.io/), if the Kafka REST option is enabled, in the *Topics* tab. Alternatively you can diff --git a/docs/products/kafka/howto/kafka-quix.md b/docs/products/kafka/howto/kafka-quix.md index e8f94f592..732738494 100644 --- a/docs/products/kafka/howto/kafka-quix.md +++ b/docs/products/kafka/howto/kafka-quix.md @@ -40,17 +40,17 @@ To configure and connect Aiven for Apache Kafka® with Klaw: 1. Create an environment. - If you're editing an existing project, open the project settings and click **+ New environment**. - + New environment - Follow the setup wizard until you get to the broker settings. 1. When you get to the broker settings, select **Aiven** as your broken provider. - + Broker settings 1. Configure the required settings: - + Broker setup - **Service URI**: Enter the Service URI for your Apache Kafka service. Find the service URI in the Connection information page of your service in Aiven Console @@ -72,7 +72,7 @@ can deploy in a few clicks. To test your Aiven for Apache Kafka® connection, you can use the [_Hello Quix_ template](https://quix.io/templates/hello-quix), which is a three-step pipeline: - +Screenshot of a pipeline 1. Click [**Clone this project**](https://portal.platform.quix.io/signup?projectName=Hello%20Quix&httpsUrl=https://github.com/quixio/template-hello-quix&branchName=tutorial). 1. On the **Import Project** screen, click **Quix advanced configuration** to ensure @@ -85,7 +85,7 @@ template](https://quix.io/templates/hello-quix), which is a three-step pipeline: In the Quix portal, wait for the services to deploy and their status to become **Running**. - +Screenshot of a pipeline Ensure the `_csv-data_` and `_counted-names_` required topics appear in both Quix and Aiven. In Aiven, topics that originate from Quix have the Quix workspace diff --git a/docs/products/kafka/kafka-connect/howto/configure-aws-secrets-manager.md b/docs/products/kafka/kafka-connect/howto/configure-aws-secrets-manager.md index fe7ada2d2..bee110309 100644 --- a/docs/products/kafka/kafka-connect/howto/configure-aws-secrets-manager.md +++ b/docs/products/kafka/kafka-connect/howto/configure-aws-secrets-manager.md @@ -12,7 +12,7 @@ Configure and use [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanag - [Aiven for Apache Kafka service with Apache Kafka Connect](/docs/products/kafka/kafka-connect/get-started) set up and running. - [Aiven CLI](/docs/tools/cli). -- [Aiven Terraform provider](https://registry.terraform.io/providers/aiven/aiven/latest/docs) +- [Aiven Terraform Provider](https://registry.terraform.io/providers/aiven/aiven/latest/docs) installed. - [AWS Secrets Manager access key and secret key](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -243,7 +243,7 @@ Parameters: -Configure a JDBC sink connector using Terraform with secrets referenced from +Configure a JDBC sink connector using the Aiven Terraform Provider with secrets referenced from AWS Secrets Manager. Add this configuration to your `main.tf` file, or optionally create a dedicated `connectors.tf` file for managing Apache Kafka connectors: @@ -358,7 +358,7 @@ Parameters: -Configure a JDBC source connector using Terraform with secrets referenced from +Configure a JDBC source connector using the Aiven Terraform Provider with secrets referenced from AWS Secrets Manager. Add this configuration to your `main.tf` file, or optionally create a dedicated `connectors.tf` file for managing Apache Kafka connectors: diff --git a/docs/products/kafka/kafka-connect/howto/configure-hashicorp-vault.md b/docs/products/kafka/kafka-connect/howto/configure-hashicorp-vault.md index e94cacd25..4de88a303 100644 --- a/docs/products/kafka/kafka-connect/howto/configure-hashicorp-vault.md +++ b/docs/products/kafka/kafka-connect/howto/configure-hashicorp-vault.md @@ -13,7 +13,7 @@ Configure and use [HashiCorp Vault](https://developer.hashicorp.com/vault/docs) - [Aiven for Apache Kafka service with Apache Kafka Connect](/docs/products/kafka/kafka-connect/get-started) set up and running. - [Aiven CLI](/docs/tools/cli). -- [Aiven Terraform provider](https://registry.terraform.io/providers/aiven/aiven/latest/docs) +- [Aiven Terraform Provider](https://registry.terraform.io/providers/aiven/aiven/latest/docs) installed. - [HashiCorp Vault address and token](https://developer.hashicorp.com/vault/docs/concepts/tokens). @@ -70,7 +70,7 @@ Parameters: -Configure HashiCorp Vault using Terraform. Add this configuration to your `main.tf` file, +Configure HashiCorp Vault using the Aiven Terraform Provider. Add this configuration to your `main.tf` file, or optionally create a dedicated `vault.tf` file for managing secret providers: 1. Create the `main.tf` file for your resources: @@ -221,7 +221,7 @@ Parameters: -Configure a JDBC sink connector using Terraform with secrets referenced +Configure a JDBC sink connector using the Aiven Terraform Provider with secrets referenced from HashiCorp Vault. Add this configuration to your `main.tf` file, or optionally create a dedicated `vault.tf` file for managing secret providers: @@ -334,7 +334,7 @@ Parameters: -Configure a JDBC source connector using Terraform with secrets referenced from +Configure a JDBC source connector using the Aiven Terraform Provider with secrets referenced from HashiCorp Vault. Add this configuration to your `main.tf` file, or optionally create a dedicated `connectors.tf` file for managing Apache Kafka connectors: diff --git a/docs/products/kafka/kafka-connect/howto/http-sink.md b/docs/products/kafka/kafka-connect/howto/http-sink.md index 7533ea939..d0cb1115d 100644 --- a/docs/products/kafka/kafka-connect/howto/http-sink.md +++ b/docs/products/kafka/kafka-connect/howto/http-sink.md @@ -2,10 +2,9 @@ title: Create a sink connector from Apache Kafka® via HTTP --- -The HTTP sink connector enables you to move data from an Aiven for -Apache Kafka® cluster to a remote server via HTTP. The full list of -parameters and setup details is available in the [dedicated GitHub -repository](https://github.com/aiven/http-connector-for-apache-kafka/). +The HTTP sink connector enables you to move data from an Aiven for Apache Kafka® cluster to a remote server via HTTP. + +The full list of parameters and setup details is available in the [dedicated GitHub repository](https://github.com/aiven/http-connector-for-apache-kafka/). :::note See the full set of available parameters and configuration diff --git a/docs/products/kafka/kafka-connect/howto/kafka-connect-debezium-tls-pg.md b/docs/products/kafka/kafka-connect/howto/kafka-connect-debezium-tls-pg.md index cf87e6aae..48a9dfb65 100644 --- a/docs/products/kafka/kafka-connect/howto/kafka-connect-debezium-tls-pg.md +++ b/docs/products/kafka/kafka-connect/howto/kafka-connect-debezium-tls-pg.md @@ -1,16 +1,11 @@ --- -title: Integrate Apache Kafka Connect with PostgreSQL using Debezium and mutual TLS -limited: true +title: Integrate Aiven for Apache Kafka® Connect with PostgreSQL using Debezium with mutual TLS --- -Learn how to set up Apache Kafka Connect with PostgreSQL and Debezium using mutual TLS for secure data synchronization. +Integrate Aiven for Apache Kafka Connect with PostgreSQL using Debezium with mutual TLS (mTLS) to enhance security with mutual authentication. -## Overview - -Integrating Apache Kafka Connect with PostgreSQL using Debezium and mutual TLS (mTLS) -enhances data security by enforcing mutual authentication between the client and server. -The configuration process establishes a secure and efficient data synchronization channel -between Apache Kafka Connect and a PostgreSQL database. +This configuration establishes a secure and efficient data synchronization channel +between Aiven for Apache Kafka Connect and a PostgreSQL database. ## Prerequisites @@ -86,7 +81,7 @@ your actual environment values in the provided code snippets: | `` | ID of the created PostgreSQL endpoint | | `` | JSON configuration for Debezium connector | -## ## Configure the integration +## Configure the integration 1. Verify your existing Aiven for Apache Kafka service is active and accessible. If you don't have one, create an Apache Kafka cluster using this command: @@ -215,7 +210,7 @@ your actual environment values in the provided code snippets: ## Verification -After successfully configuring the setup, verify the following: +Confirm the following after completing the setup: 1. Apache Kafka Connect establishes a secure SSL connection with the PostgreSQL database. 1. Apache Kafka topics exist as expected, whether created automatically or manually. @@ -224,8 +219,6 @@ After successfully configuring the setup, verify the following: ## Limitations -Consider the following limitations: - - The process of delivering SSL keys to Apache Kafka Connect is asynchronous. Therefore, a delay of approximately five minutes may occur from the creation of the integration to the operational use of the keys. diff --git a/docs/products/kafka/kafka-connect/howto/opensearch-sink.md b/docs/products/kafka/kafka-connect/howto/opensearch-sink.md index d01b840a6..96087dc8f 100644 --- a/docs/products/kafka/kafka-connect/howto/opensearch-sink.md +++ b/docs/products/kafka/kafka-connect/howto/opensearch-sink.md @@ -2,9 +2,7 @@ title: Create a sink connector from Apache Kafka® to OpenSearch® --- -The OpenSearch sink connector enables you to move data from an Aiven for -Apache Kafka® cluster to an OpenSearch® instance for further processing -and analysis. +The OpenSearch sink connector enables you to move data from an Aiven for Apache Kafka® cluster to an OpenSearch® instance for further processing and analysis. :::warning diff --git a/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-active-setup.md b/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-active-setup.md index 34a967005..2abefbce1 100644 --- a/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-active-setup.md +++ b/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-active-setup.md @@ -2,6 +2,8 @@ title: MirrorMaker 2 active-active setup --- +import Activeactive from "@site/static/images/content/figma/mirrormaker-active-active.png"; + An active-active setup of MM2 allows data to be replicated between two clusters simultaneously. It implies a bidirectional mirroring between the two clusters. To do this, MM2 uses topic prefixes in the @@ -10,7 +12,7 @@ form of `.`. In this setup, there are two actively used Apache Kafka® clusters: Cluster K1 and cluster K2. Topic exists in both clusters. -![MirrorMaker 2 Active-Active Setup](/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Active.png) +Active-active setup Each cluster has its producers and consumers. Producers produce to a topic, while consumers consume from the same topic using the same diff --git a/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-passive-setup.md b/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-passive-setup.md index 10201b47f..a002f01e3 100644 --- a/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-passive-setup.md +++ b/docs/products/kafka/kafka-mirrormaker/concepts/disaster-recovery/active-passive-setup.md @@ -2,13 +2,12 @@ title: Active-passive setup --- -In this setup, there are two Apache Kafka® clusters, the primary and secondary clusters. -The primary cluster contains the *topic* topic. The -"active" cluster serves all produce and consume requests, while the -"passive" cluster serves as a replica of the "active" cluster -without running any applications against it. +import Activepassive from "@site/static/images/content/figma/mirrormaker-active-passive.png"; -![MirrorMaker 2 Active-Passive Setup](/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Passive.png) +In this setup, there are two Apache Kafka® clusters, the primary and secondary clusters. The primary cluster contains the *topic* topic. +The "active" cluster serves all produce and consume requests, while the "passive" cluster serves as a replica of the "active" cluster without running any applications against it. + +Active-Passive Setup - All the clients (producers and consumers) work with primary. MirrorMaker 2 replicates the topic from primary to secondary (the @@ -29,7 +28,7 @@ without running any applications against it. primary.topic. This approach might be more convenient when a future fallback to the primary cluster is needed. -**Disaster Recovery** +## Disaster Recovery To enable a DR scenario, the backup cluster (Cluster B) must have topics with the same name as the primary cluster (Cluster A). By default, this @@ -38,12 +37,12 @@ is not the case, so all replication flows must use the When a replication flow is created, it will mirror all topics based upon the allow list or deny list configuration of the replication flow. The -allow list should be set .\* to guarantee that all internal topics such +allow list should be set to `.*` to guarantee that all internal topics such as consumer offsets for Apache Kafka® Connectors and consumer groups, and schemas for [Karapace](/docs/products/kafka/karapace). -**Failover** +## Failover When a cluster is replicated using MM2, it will have a different service URI and certificates that need to be considered when transitioning diff --git a/docs/products/kafka/kafka-mirrormaker/concepts/mirrormaker2-tuning.md b/docs/products/kafka/kafka-mirrormaker/concepts/mirrormaker2-tuning.md index 46188447b..19c7a339c 100644 --- a/docs/products/kafka/kafka-mirrormaker/concepts/mirrormaker2-tuning.md +++ b/docs/products/kafka/kafka-mirrormaker/concepts/mirrormaker2-tuning.md @@ -2,25 +2,24 @@ title: MirrorMaker 2 common parameters --- -MirrorMaker 2 (MM2) offers a suite of parameters to help with data -replication and monitoring within Apache Kafka® ecosystems. This topic -outlines common parameters you can adjust, along with tips for +MirrorMaker 2 (MM2) offers a suite of parameters to help with data replication and monitoring within Apache Kafka® ecosystems. +This topic outlines common parameters you can adjust, along with tips for validating MM2's performance. 1. Increase the value of `kafka_mirrormaker.tasks_max_per_cpu` in the advanced options. Setting this to match the number of partitions can enhance performance. -2. Ensure the interval seconds for the following settings match. You +1. Ensure the interval seconds for the following settings match. You can reduce these intervals for more frequent data synchronization: - Advanced options: - `kafka_mirrormaker.emit_checkpoints_interval_seconds` - `kafka_mirrormaker.sync_group_offsets_interval_seconds` - Replication flow: - `Sync interval in seconds`. -3. To exclude internal topics, add these patterns to your topic +1. To exclude internal topics, add these patterns to your topic blacklist: - `.*[\-\.]internal` `.*\.replica` `__.*` `connect.*` -4. Depending on your use case, consider adjusting these parameters: +1. Depending on your use case, consider adjusting these parameters: - `kafka_mirrormaker.consumer_fetch_min_bytes` - `kafka_mirrormaker.producer_batch_size` - `kafka_mirrormaker.producer_buffer_memory` @@ -34,11 +33,11 @@ these: 1. **Consumer lag metric**: Monitor the `kafka.consumer_lag` metric. -2. **Dashboard metrics**: If MirrorMaker 2 stops adding records to a +1. **Dashboard metrics**: If MirrorMaker 2 stops adding records to a topic, the `jmx.kafka.connect.mirror.record_count` metric stops increasing, showing a flat line on the dashboard. -3. **Retrieve latest messages with \`kt\`**: Use +1. **Retrieve latest messages with \`kt\`**: Use [kt](https://github.com/fgeller/kt) to retrieve the latest messages from all partitions with the following command: diff --git a/docs/products/kafka/karapace/concepts/acl-definition.md b/docs/products/kafka/karapace/concepts/acl-definition.md index 98312099c..3e48594f6 100644 --- a/docs/products/kafka/karapace/concepts/acl-definition.md +++ b/docs/products/kafka/karapace/concepts/acl-definition.md @@ -2,9 +2,7 @@ title: ACLs definition --- -An ACL for Karapace schema registry authorization consists of zero or -more entries that specify a **username**, an **operation**, and a -**resource**. +An ACL for Karapace schema registry authorization consists of zero or more entries that specify a **username**, an **operation**, and a **resource**. - **Username** is the name of a service user in the Aiven for Apache Kafka® service. diff --git a/docs/products/kafka/karapace/howto/manage-schema-registry-authorization.md b/docs/products/kafka/karapace/howto/manage-schema-registry-authorization.md index d0e45041e..866568b85 100644 --- a/docs/products/kafka/karapace/howto/manage-schema-registry-authorization.md +++ b/docs/products/kafka/karapace/howto/manage-schema-registry-authorization.md @@ -28,7 +28,7 @@ examples, see ## Manage resources via Terraform Additionally, the -[Aiven Terraform provider](/docs/tools/terraform) supports managing Karapace schema registry authorization ACL +[Aiven Terraform Provider](/docs/tools/terraform) supports managing Karapace schema registry authorization ACL entries with the `aiven_kafka_schema_registry_acl` resource. For more information, see the [resource documentation](https://registry.terraform.io/providers/aiven/aiven/latest/docs/resources/kafka_schema_registry_acl). diff --git a/docs/products/kafka/reference/kafka-metrics-prometheus.md b/docs/products/kafka/reference/kafka-metrics-prometheus.md index c1ebedbc9..571cd1656 100644 --- a/docs/products/kafka/reference/kafka-metrics-prometheus.md +++ b/docs/products/kafka/reference/kafka-metrics-prometheus.md @@ -1,15 +1,15 @@ --- title: Aiven for Apache Kafka® metrics available via Prometheus --- +import HostMetrics from "@site/static/includes/host-metrics.md"; Explore common metrics available via Prometheus for your Aiven for Apache Kafka® service. ## How to retrieve metrics +You can retrieve a complete list of metrics from your service by querying the Prometheus +endpoint. To do this: -To get the complete list of available metrics for your service, query the -Prometheus endpoint. To get started: - -1. Ensure you have the following information: +1. Gather the necessary details: - Aiven project certificate: `ca.pem`. To download the CA certificate, see [Download CA certificates](/docs/platform/concepts/tls-ssl-certificates#download-ca-certificates). @@ -17,7 +17,7 @@ Prometheus endpoint. To get started: - Aiven for Apache Kafka hostname: `` - Prometheus port: `` -1. Use the `curl` command to query the Prometheus endpoint: +1. Run the following `curl` command to query the Prometheus endpoint: ```bash curl --cacert ca.pem \ @@ -25,68 +25,15 @@ Prometheus endpoint. To get started: 'https://:/metrics' ``` -For detailed instructions on setting up Prometheus integration with -Aiven, see [Use Prometheus with Aiven](/docs/platform/howto/integrations/prometheus-metrics) - -## CPU utilization - -CPU utilization metrics offer insights into CPU usage. These metrics -include time spent on different processes, system load, and overall uptime. - -| Metric | Description | -|-------------------------|-------------------------------------------------------------------------------------------------------| -| `cpu_usage_guest` | CPU time spent running a virtual CPU for guest operating systems | -| `cpu_usage_guest_nice` | CPU time spent running low-priority virtual CPUs for guest operating systems. These processes can be interrupted by higher-priority tasks. Metric is measured in hundredths of a second | -| `cpu_usage_idle` | Time the CPU spends doing nothing | -| `cpu_usage_iowait` | Time waiting for I/O to complete | -| `cpu_usage_irq` | Time servicing interrupts | -| `cpu_usage_nice` | Time running user-niced processes | -| `cpu_usage_softirq` | Time servicing softirqs | -| `cpu_usage_steal` | Time spent in other operating systems when running in a virtualized environment | -| `cpu_usage_system` | Time spent running system processes | -| `cpu_usage_user` | Time spent running user processes | -| `system_load1` | System load average for the last minute | -| `system_load15` | System load average for the last 15 minutes | -| `system_load5` | System load average for the last 5 minutes | -| `system_n_cpus` | Number of CPU cores available | -| `system_n_users` | Number of users logged in | -| `system_uptime` | Time for which the system has been up and running | - -## Disk space utilization - -Disk space utilization metrics provide a snapshot of disk usage. These metrics include -information about free and used disk space, as well as `inode` usage and -total disk capacity. - -| Metric | Description | -|----------------------|-------------------------------| -| `disk_free` | Amount of free disk space | -| `disk_inodes_free` | Number of free inodes | -| `disk_inodes_total` | Total number of inodes | -| `disk_inodes_used` | Number of used inodes | -| `disk_total` | Total disk space | -| `disk_used` | Amount of used disk space | -| `disk_used_percent` | Percentage of disk space used| - -## Disk input and output - -Metrics such as `diskio_io_time` and `diskio_iops_in_progress` provide insights into -disk I/O operations. These metrics cover read/write operations, the duration of these -operations, and the number of bytes read/written. - -| Metric | Description | -|--------------------------|-------------------------------------------------------------------------------------------------------| -| `diskio_io_time` | Total time spent on I/O operations | -| `diskio_iops_in_progress`| Number of I/O operations currently in progress | -| `diskio_merged_reads` | Number of read operations that were merged | -| `diskio_merged_writes` | Number of write operations that were merged | -| `diskio_read_bytes` | Total bytes read from disk | -| `diskio_read_time` | Total time spent on read operations | -| `diskio_reads` | Total number of read operations | -| `diskio_weighted_io_time`| Weighted time spent on I/O operations, considering their duration and intensity | -| `diskio_write_bytes` | Total bytes written to disk | -| `diskio_write_time` | Total time spent on write operations | -| `diskio_writes` | Total number of write operations | +For more information about setting up Prometheus integration, +see [Use Prometheus with Aiven](/docs/platform/howto/integrations/prometheus-metrics) + + + +## Aiven for Apache Kafka-specific metrics + +Metrics specific to Apache Kafka provide detailed insights into the health and +performance of your Kafka clusters, including broker, controller, and topic-level metrics. ## Garbage collector `MXBean` @@ -349,201 +296,3 @@ data copying, fetching, deleting, and their associated lags and errors. | `kafka_server_BrokerTopicMetrics_RemoteDeleteErrorsPerSec_Count` | Number of errors per second encountered during remote delete | | `kafka_server_BrokerTopicMetrics_RemoteDeleteLagBytes_Value` | Number of bytes in non-active segments marked for deletion but not yet deleted from remote storage | | `kafka_server_BrokerTopicMetrics_RemoteDeleteLagSegments_Value` | Number of non-active segments marked for deletion but not yet deleted from remote storage | - -### Kernel - -The metrics listed below, such as `kernel_boot_time` and `kernel_context_switches`, provide -insights into the operations of your system's kernel. - - -| Metric | Description | -|----------------------------|--------------------------------------------------| -| `kernel_boot_time` | Time at which the system was last booted | -| `kernel_context_switches` | Number of context switches that have occurred in the kernel | -| `kernel_entropy_avail` | Amount of available entropy in the kernel's entropy pool | -| `kernel_interrupts` | Number of interrupts that have occurred | -| `kernel_processes_forked` | Number of processes that have been forked | - -### Generic memory - -The following metrics, including `mem_active` and `mem_available`, provide insights into -your system's memory usage. - -| Metric | Description | -|--------------------------|----------------------------------------------------------------| -| `mem_active` | Amount of actively used memory | -| `mem_available` | Amount of available memory | -| `mem_available_percent` | Percentage of available memory | -| `mem_buffered` | Amount of memory used for buffering I/O | -| `mem_cached` | Amount of memory used for caching | -| `mem_commit_limit` | Maximum amount of memory that can be committed | -| `mem_committed_as` | Total amount of committed memory | -| `mem_dirty` | Amount of memory waiting to be written to disk | -| `mem_free` | Amount of free memory | -| `mem_high_free` | Amount of free memory in the high memory zone | -| `mem_high_total` | Total amount of memory in the high memory zone | -| `mem_huge_pages_free` | Number of free huge pages | -| `mem_huge_page_size` | Size of huge pages | -| `mem_huge_pages_total` | Total number of huge pages | -| `mem_inactive` | Amount of inactive memory | -| `mem_low_free` | Amount of free memory in the low memory zone | -| `mem_low_total` | Total amount of memory in the low memory zone | -| `mem_mapped` | Amount of memory mapped into the process's address space | -| `mem_page_tables` | Amount of memory used by page tables | -| `mem_shared` | Amount of memory shared between processes | -| `mem_slab` | Amount of memory used by the kernel for data structure caches | -| `mem_swap_cached` | Amount of swap memory cached | -| `mem_swap_free` | Amount of free swap memory | -| `mem_swap_total` | Total amount of swap memory | -| `mem_total` | Total amount of memory | -| `mem_used` | Amount of used memory | -| `mem_used_percent` | Percentage of used memory | -| `mem_vmalloc_chunk` | Largest contiguous block of vmalloc memory available | -| `mem_vmalloc_total` | Total amount of vmalloc memory | -| `mem_vmalloc_used` | Amount of used vmalloc memory | -| `mem_wired` | Amount of wired memory | -| `mem_write_back` | Amount of memory being written back to disk | -| `mem_write_back_tmp` | Amount of temporary memory being written back to disk | - -### Network - -The following metrics, including `net_bytes_recv` and `net_packets_sent`, provide insights -into your system's network operations. - -| Metric | Description | -|------------------------------|---------------------------------------------------------------------------------| -| `net_bytes_recv` | Total bytes received on the network interfaces | -| `net_bytes_sent` | Total bytes sent on the network interfaces | -| `net_drop_in` | Incoming packets dropped | -| `net_drop_out` | Outgoing packets dropped | -| `net_err_in` | Incoming packets with errors | -| `net_err_out` | Outgoing packets with errors | -| `net_icmp_inaddrmaskreps` | Number of ICMP address mask replies received | -| `net_icmp_inaddrmasks` | Number of ICMP address mask requests received | -| `net_icmp_incsumerrors` | Number of ICMP checksum errors | -| `net_icmp_indestunreachs` | Number of ICMP destination unreachable messages received | -| `net_icmp_inechoreps` | Number of ICMP echo replies received | -| `net_icmp_inechos` | Number of ICMP echo requests received | -| `net_icmp_inerrors` | Number of ICMP messages received with errors | -| `net_icmp_inmsgs` | Total number of ICMP messages received | -| `net_icmp_inparmprobs` | Number of ICMP parameter problem messages received | -| `net_icmp_inredirects` | Number of ICMP redirect messages received | -| `net_icmp_insrcquenchs` | Number of ICMP source quench messages received | -| `net_icmp_intimeexcds` | Number of ICMP time exceeded messages received | -| `net_icmp_intimestampreps` | Number of ICMP timestamp reply messages received | -| `net_icmp_intimestamps` | Number of ICMP timestamp request messages received | -| `net_icmpmsg_intype3` | Number of ICMP type 3 (destination unreachable) messages received | -| `net_icmpmsg_intype8` | Number of ICMP type 8 (echo request) messages received | -| `net_icmpmsg_outtype0` | Number of ICMP type 0 (echo reply) messages sent | -| `net_icmpmsg_outtype3` | Number of ICMP type 3 (destination unreachable) messages sent | -| `net_icmp_outaddrmaskreps` | Number of ICMP address mask reply messages sent | -| `net_icmp_outaddrmasks` | Number of ICMP address mask request messages sent | -| `net_icmp_outdestunreachs` | Number of ICMP destination unreachable messages sent | -| `net_icmp_outechoreps` | Number of ICMP echo reply messages sent | -| `net_icmp_outechos` | Number of ICMP echo request messages sent | -| `net_icmp_outerrors` | Number of ICMP messages sent with errors | -| `net_icmp_outmsgs` | Total number of ICMP messages sent | -| `net_icmp_outparmprobs` | Number of ICMP parameter problem messages sent | -| `net_icmp_outredirects` | Number of ICMP redirect messages sent | -| `net_icmp_outsrcquenchs` | Number of ICMP source quench messages sent | -| `net_icmp_outtimeexcds` | Number of ICMP time exceeded messages sent | -| `net_icmp_outtimestampreps` | Number of ICMP timestamp reply messages sent | -| `net_icmp_outtimestamps` | Number of ICMP timestamp request messages sent | -| `net_ip_defaultttl` | Default time-to-live for IP packets | -| `net_ip_forwarding` | Indicates if IP forwarding is enabled | -| `net_ip_forwdatagrams` | Number of forwarded IP datagrams | -| `net_ip_fragcreates` | Number of IP fragments created | -| `net_ip_fragfails` | Number of failed IP fragmentations | -| `net_ip_fragoks` | Number of successful IP fragmentations | -| `net_ip_inaddrerrors` | Number of incoming IP packets with address errors | -| `net_ip_indelivers` | Number of incoming IP packets delivered to higher layers | -| `net_ip_indiscards` | Number of incoming IP packets discarded | -| `net_ip_inhdrerrors` | Number of incoming IP packets with header errors | -| `net_ip_inreceives` | Total number of incoming IP packets received | -| `net_ip_inunknownprotos` | Number of incoming IP packets with unknown protocols | -| `net_ip_outdiscards` | Number of outgoing IP packets discarded | -| `net_ip_outnoroutes` | Number of outgoing IP packets with no route available | -| `net_ip_outrequests` | Total number of outgoing IP packets requested to be sent | -| `net_ip_reasmfails` | Number of failed IP reassembly attempts | -| `net_ip_reasmoks` | Number of successful IP reassembly attempts | -| `net_ip_reasmreqds` | Number of IP fragments received needing reassembly | -| `net_ip_reasmtimeout` | Number of IP reassembly timeouts | -| `net_packets_recv` | Total number of packets received on the network interfaces | -| `net_packets_sent` | Total number of packets sent on the network interfaces | -| `netstat_tcp_close` | Number of TCP connections in the CLOSE state | -| `netstat_tcp_close_wait` | Number of TCP connections in the CLOSE_WAIT state | -| `netstat_tcp_closing` | Number of TCP connections in the CLOSING state | -| `netstat_tcp_established` | Number of TCP connections in the ESTABLISHED state | -| `netstat_tcp_fin_wait1` | Number of TCP connections in the FIN_WAIT_1 state | -| `netstat_tcp_fin_wait2` | Number of TCP connections in the FIN_WAIT_2 state | -| `netstat_tcp_last_ack` | Number of TCP connections in the LAST_ACK state | -| `netstat_tcp_listen` | Number of TCP connections in the LISTEN state | -| `netstat_tcp_none` | Number of TCP connections in the NONE state | -| `netstat_tcp_syn_recv` | Number of TCP connections in the SYN_RECV state | -| `netstat_tcp_syn_sent` | Number of TCP connections in the SYN_SENT state | -| `netstat_tcp_time_wait` | Number of TCP connections in the TIME_WAIT state | -| `netstat_udp_socket` | Number of UDP sockets | -| `net_tcp_activeopens` | Number of active TCP open connections | -| `net_tcp_attemptfails` | Number of failed TCP connection attempts | -| `net_tcp_currestab` | Number of currently established TCP connections | -| `net_tcp_estabresets` | Number of established TCP connections reset | -| `net_tcp_incsumerrors` | Number of TCP checksum errors in incoming packets | -| `net_tcp_inerrs` | Number of incoming TCP packets with errors | -| `net_tcp_insegs` | Number of TCP segments received | -| `net_tcp_maxconn` | Maximum number of TCP connections supported | -| `net_tcp_outrsts` | Number of TCP reset packets sent | -| `net_tcp_outsegs` | Number of TCP segments sent | -| `net_tcp_passiveopens` | Number of passive TCP open connections | -| `net_tcp_retranssegs` | Number of TCP segments retransmitted | -| `net_tcp_rtoalgorithm` | TCP retransmission timeout algorithm | -| `net_tcp_rtomax` | Maximum TCP retransmission timeout | -| `net_tcp_rtomin` | Minimum TCP retransmission timeout | -| `net_udp_ignoredmulti` | Number of UDP multicast packets ignored | -| `net_udp_incsumerrors` | Number of UDP checksum errors in incoming packets | -| `net_udp_indatagrams` | Number of UDP datagrams received | -| `net_udp_inerrors` | Number of incoming UDP packets with errors | -| `net_udplite_ignoredmulti` | Number of UDP-Lite multicast packets ignored | -| `net_udplite_incsumerrors` | Number of UDP-Lite checksum errors in incoming packets | -| `net_udplite_indatagrams` | Number of UDP-Lite datagrams received | -| `net_udplite_inerrors` | Number of incoming UDP-Lite packets with errors | -| `net_udplite_noports` | Number of UDP-Lite packets received with no port available | -| `net_udplite_outdatagrams` | Number of UDP-Lite datagrams sent | -| `net_udplite_rcvbuferrors` | Number of UDP-Lite receive buffer errors | -| `net_udplite_sndbuferrors` | Number of UDP-Lite send buffer errors | -| `net_udp_noports` | Number of UDP packets received with no port available | -| `net_udp_outdatagrams` | Number of UDP datagrams sent | -| `net_udp_rcvbuferrors` | Number of UDP receive buffer errors | -| `net_udp_sndbuferrors` | Number of UDP send buffer errors | - -### Process - -Metrics such as `processes_running` and `processes_zombies` provide insights into the -management of the system's processes. - -| Metric | Description | -|----------------------------|-----------------------------------------------------------------------------| -| `processes_blocked` | Number of processes that are blocked | -| `processes_dead` | Number of processes that have terminated | -| `processes_idle` | Number of processes that are idle | -| `processes_paging` | Number of processes that are paging | -| `processes_running` | Number of processes currently running | -| `processes_sleeping` | Number of processes that are sleeping | -| `processes_stopped` | Number of processes that are stopped | -| `processes_total` | Total number of processes | -| `processes_total_threads` | Total number of threads across all processes | -| `processes_unknown` | Number of processes in an unknown state | -| `processes_zombies` | Number of zombie processes (terminated but not reaped by parent process) | - -### Swap usage - -Metrics such as `swap_free` and `swap_used` provide insights into the usage of the -system's swap memory. - -| Metric | Description | -|--------------------|--------------------------------------------------| -| `swap_free` | Amount of free swap memory | -| `swap_in` | Amount of data swapped in from disk | -| `swap_out` | Amount of data swapped out to disk | -| `swap_total` | Total amount of swap memory | -| `swap_used` | Amount of used swap memory | -| `swap_used_percent`| Percentage of swap memory used | diff --git a/docs/products/mysql/concepts/max-number-of-connections.md b/docs/products/mysql/concepts/max-number-of-connections.md index fba764cca..c0a95fa61 100644 --- a/docs/products/mysql/concepts/max-number-of-connections.md +++ b/docs/products/mysql/concepts/max-number-of-connections.md @@ -1,13 +1,9 @@ --- title: MySQL max_connections +service_label: max_connections --- -## `max_connections` vs RAM - -The maximum number of simultaneous connections in Aiven for MySQL® -depends on how much RAM your service plan offers and is fixed for each -service plan (**Hobbyist**, **Startup**, **Business**, **Premium**, or -any other plan available under a specific cloud provider.) +The maximum number of simultaneous connections in Aiven for MySQL® depends on how much RAM your [service plan](/docs/platform/howto/scale-services) offers and is fixed for each service plan. :::note Independent of the plan, an `extra_connection` with a value of `1` is diff --git a/docs/products/mysql/concepts/mysql-backups.md b/docs/products/mysql/concepts/mysql-backups.md index 223d6ae2f..b52628ed9 100644 --- a/docs/products/mysql/concepts/mysql-backups.md +++ b/docs/products/mysql/concepts/mysql-backups.md @@ -3,8 +3,8 @@ title: Understand MySQL backups sidebar_label: Backups --- -Aiven for MySQL databases are automatically backed-up, with full backups -daily, and binary logs recorded continuously. The number of stored +Aiven for MySQL databases are automatically backed-up, with full backups daily, and binary logs recorded continuously. +The number of stored backups and backup retention time depends on your [Aiven service plan](https://aiven.io/pricing?product=mysql&tab=plan-comparison). Full backups are version-specific binary backups, which when combined with diff --git a/docs/products/mysql/howto/connect-from-cli.md b/docs/products/mysql/howto/connect-from-cli.md index a84b19963..3e8ce000f 100644 --- a/docs/products/mysql/howto/connect-from-cli.md +++ b/docs/products/mysql/howto/connect-from-cli.md @@ -1,8 +1,9 @@ --- title: Connect to Aiven for MySQL® from the command line +sidebar_label: Connect with the CLI --- -Connect to your MySQL via the command line with the following tools: +Connect to your Aiven for MySQL® service via the command line with the following tools: - [mysqlsh shell](/docs/products/mysql/howto/connect-from-cli#connect-mysqlsh) - [mysql client](/docs/products/mysql/howto/connect-from-cli#connect-mysql) diff --git a/docs/products/mysql/howto/connect-with-php.md b/docs/products/mysql/howto/connect-with-php.md index 32d3d7296..ac9dd958b 100644 --- a/docs/products/mysql/howto/connect-with-php.md +++ b/docs/products/mysql/howto/connect-with-php.md @@ -5,8 +5,7 @@ title: Connect to Aiven for MySQL® with PHP import CodeBlock from '@theme/CodeBlock'; import MyComponentSource1 from '!!raw-loader!/code/products/mysql/connect.php'; -This example connects to an Aiven for MySQL® service from PHP, making -use of the built-in PDO module. +This example connects to an Aiven for MySQL® service from PHP, making use of the built-in PDO module. ## Variables diff --git a/docs/products/mysql/howto/list-code-samples.md b/docs/products/mysql/howto/list-code-samples.md index 1b348c87a..cd1fcf1e8 100644 --- a/docs/products/mysql/howto/list-code-samples.md +++ b/docs/products/mysql/howto/list-code-samples.md @@ -4,4 +4,6 @@ title: Connect to your Aiven for MySQL® service import DocCardList from '@theme/DocCardList'; +Discover the various ways to connect to your Aiven for MySQL® service. + diff --git a/docs/products/opensearch/concepts/opensearch-security-considerations.md b/docs/products/opensearch/concepts/opensearch-security-considerations.md index 3df375528..65f241afb 100644 --- a/docs/products/opensearch/concepts/opensearch-security-considerations.md +++ b/docs/products/opensearch/concepts/opensearch-security-considerations.md @@ -27,7 +27,7 @@ will occur: - [ServiceOpenSearchAclGet](https://api.aiven.io/doc/#tag/Service:_OpenSearch/operation/ServiceOpenSearchAclGet) - [ServiceOpenSearchAclSet](https://api.aiven.io/doc/#tag/Service:_OpenSearch/operation/ServiceOpenSearchAclSet) - [ServiceOpenSearchAclUpdate](https://api.aiven.io/doc/#tag/Service:_OpenSearch/operation/ServiceOpenSearchAclUpdate) -3. Aiven for OpenSearch ACL in Aiven Terraform provider will be +3. Aiven for OpenSearch ACL in the Aiven Terraform Provider will be disabled. The affected resources are: - [Opensearch_acl_config](https://registry.terraform.io/providers/aiven/aiven/latest/docs/resources/opensearch_acl_config) - [Opensearch_acl_rule](https://registry.terraform.io/providers/aiven/aiven/latest/docs/resources/opensearch_acl_rule) diff --git a/docs/products/opensearch/concepts/opensearch-vs-elasticsearch.md b/docs/products/opensearch/concepts/opensearch-vs-elasticsearch.md index fba16782a..e0ad3c04c 100644 --- a/docs/products/opensearch/concepts/opensearch-vs-elasticsearch.md +++ b/docs/products/opensearch/concepts/opensearch-vs-elasticsearch.md @@ -2,10 +2,9 @@ title: OpenSearch® vs Elasticsearch --- -OpenSearch® is the open source continuation of the original Elasticsearch project. -When [Elastic moved to a restrictive license](https://www.elastic.co/blog/licensing-change), the changes -meant that third parties were not able to continue to offer -Elasticsearch as a service. The community (including Aiven) joined +OpenSearch® is the open-source version of the Elasticsearch project, which has [a restrictive license](https://www.elastic.co/blog/licensing-change). Third parties cannot offer Elasticsearch as a service. + +The community (including Aiven) joined forces to create and maintain OpenSearch based on the last open source licensed releases of both Elasticsearch and Kibana (v7.10.2). diff --git a/docs/products/opensearch/concepts/os-security.md b/docs/products/opensearch/concepts/os-security.md index a8e065fc4..860753724 100644 --- a/docs/products/opensearch/concepts/os-security.md +++ b/docs/products/opensearch/concepts/os-security.md @@ -17,7 +17,7 @@ permissions directly from the longer use [Aiven Console](https://console.aiven.io/), [Aiven API](https://api.aiven.io/doc/), [Aiven CLI](/docs/tools/cli), - [Aiven Terraform provider](/docs/tools/terraform) or + [Aiven Terraform Provider](/docs/tools/terraform) or [Aiven Operator for Kubernetes®](/docs/tools/kubernetes) to manage access controls. - You must use the OpenSearch Security Dashboard or OpenSearch Security API for managing user authentication and access control diff --git a/docs/products/opensearch/howto/enable-opensearch-security.md b/docs/products/opensearch/howto/enable-opensearch-security.md index e13a267d4..4e39e5f80 100644 --- a/docs/products/opensearch/howto/enable-opensearch-security.md +++ b/docs/products/opensearch/howto/enable-opensearch-security.md @@ -30,7 +30,7 @@ OpenSearch service, note the following: longer use [Aiven Console](https://console.aiven.io/), [Aiven API](https://api.aiven.io/doc/), [Aiven CLI](/docs/tools/cli), - [Aiven Terraform provider](/docs/tools/terraform) or + [Aiven Terraform Provider](/docs/tools/terraform) or [Aiven Operator for Kubernetes®](/docs/tools/kubernetes) to manage access controls. ## Enable OpenSearch® Security management diff --git a/docs/products/opensearch/howto/os-metrics.md b/docs/products/opensearch/howto/os-metrics.md new file mode 100644 index 000000000..8a76b3aee --- /dev/null +++ b/docs/products/opensearch/howto/os-metrics.md @@ -0,0 +1,82 @@ +--- +title: Aiven for OpenSearch® metrics available via Prometheus +sidebar_label: OpenSearch metrics with Prometheus +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import HostMetrics from "@site/static/includes/host-metrics.md"; +import ConsoleLabel from "@site/src/components/ConsoleIcons" +import LimitedBadge from "@site/src/components/Badges/LimitedBadge"; + +Monitor and optimize your Aiven for OpenSearch service with metrics available via Prometheus. +These metrics help track cluster health, replication status, and overall performance. + +## Prerequisites + +- [Enable Prometheus integration](/docs/platform/howto/integrations/prometheus-metrics). +- Note the Prometheus **username** and **password** in the **Integration endpoints** + section of the [Aiven Console](https://console.aiven.io/). + +## Access Prometheus metrics + + + + +1. Open your service's page in the + [Aiven Console](https://console.aiven.io/). +1. In the **Connection information** section, click the **Prometheus** tab. +1. Copy the **Service URI**. +1. Paste the Service URI into your browser's address bar. +1. When prompted, enter your Prometheus credentials. +1. Click **Login**. + + + + +To retrieve metrics, run the following `curl` command: + +```bash +curl --user 'USERNAME:PASSWORD' PROMETHEUS_URL/metrics +``` + +Replace `USERNAME:PASSWORD` with your Prometheus credentials and `PROMETHEUS_URL` +with the Service URI from the **Connection information** section. + + + + + + +## OpenSearch-specific metrics + +These metrics provide insights into the performance and health of your Aiven for +OpenSearch service. + +### Node statistics + +Track node metrics such as CPU and memory usage, disk I/O, and JVM statistics. For more +information, see the +[node stats API](https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-stats/). + +### Cluster statistics + +Track cluster-level metrics, including the number of indices, shard distribution, and +memory usage. For more information, see the +[cluster stats API](https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/). + +### Cluster health + +Monitor cluster health with granular metrics available at the index level. Use `local` +with `level=index` to view index-specific health status. +For more information, see +the [cluster health API](https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-health/). + +### Cross-cluster replication (CCR) stats + +- **Leader stats:** Monitor replication metrics from the leader cluster, including + replication lag and synchronization status. For more information, see + the [leader cluster stats API](https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#get-leader-cluster-stats). +- **Follower stats:** Monitor follower cluster metrics, including replication delays and + error rates, to maintain data consistency. For more information, see the + [follower cluster stats API](https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#get-follower-cluster-stats). diff --git a/docs/products/opensearch/howto/setup-cross-cluster-replication-opensearch.md b/docs/products/opensearch/howto/setup-cross-cluster-replication-opensearch.md index e2008aa58..f5292a270 100644 --- a/docs/products/opensearch/howto/setup-cross-cluster-replication-opensearch.md +++ b/docs/products/opensearch/howto/setup-cross-cluster-replication-opensearch.md @@ -57,10 +57,10 @@ service using the service integration endpoint and setting the information, see [Create new service integration](https://api.aiven.io/doc/#tag/Service_Integrations). -## Setup cross-cluster replication via Terraform provider +## Setup cross-cluster replication via Terraform You can set up the cross-cluster replication for Aiven for OpenSearch service via the -[Aiven Terraform provider](/docs/tools/terraform). Set the `integration-type` to +[Aiven Terraform Provider](/docs/tools/terraform). Set the `integration-type` to `opensearch_cross_cluster_replication` in the [Service Integration resource](https://registry.terraform.io/providers/aiven/aiven/latest/docs/resources/service_integration). diff --git a/docs/products/postgresql/concepts/dba-tasks-pg.md b/docs/products/postgresql/concepts/dba-tasks-pg.md index 696d50b1d..a60c71552 100644 --- a/docs/products/postgresql/concepts/dba-tasks-pg.md +++ b/docs/products/postgresql/concepts/dba-tasks-pg.md @@ -3,9 +3,7 @@ title: Perform DBA-type tasks in Aiven for PostgreSQL® sidebar_label: DBA-type tasks --- -Aiven doesn't allow superuser access to Aiven for PostgreSQL® services. -However, most DBA-type actions are still available through other -methods. +Aiven doesn't allow superuser access to Aiven for PostgreSQL® services. However, most DBA-type actions are still available through other methods. ## `avnadmin` user privileges @@ -41,7 +39,7 @@ the `avnadmin` to perform superuser-like functionalities like: You can install the `aiven_extras` extension executing the following command with the `avnadmin` user: -``` +```sql CREATE EXTENSION aiven_extras CASCADE; ``` diff --git a/docs/products/postgresql/concepts/timescaledb.md b/docs/products/postgresql/concepts/timescaledb.md index 9ac9949ec..8331ea984 100644 --- a/docs/products/postgresql/concepts/timescaledb.md +++ b/docs/products/postgresql/concepts/timescaledb.md @@ -2,10 +2,8 @@ title: About TimescaleDB --- -[TimescaleDB](https://github.com/timescale/timescaledb) is an -open-source database designed to make your existing relational database -scalable for time series data. TimescaleDB is available as a PostgreSQL® -extension on Aiven. +[TimescaleDB](https://github.com/timescale/timescaledb) is an open-source database designed to make your existing relational database scalable for time series data. +TimescaleDB is available as a PostgreSQL® extension on Aiven. A time series indexes a series of data points in chronological order, usually as a sequence over regular intervals. Examples of a time series @@ -22,7 +20,7 @@ took place. TimescaleDB is available as an extension; you can enable it by running: -``` +```sql CREATE EXTENSION timescaledb CASCADE; ``` diff --git a/docs/products/postgresql/concepts/upgrade-failover.md b/docs/products/postgresql/concepts/upgrade-failover.md index ac14680f5..e91c05221 100644 --- a/docs/products/postgresql/concepts/upgrade-failover.md +++ b/docs/products/postgresql/concepts/upgrade-failover.md @@ -32,25 +32,25 @@ different procedures in case of primary or replica nodes disconnections. ### Primary server disconnection -If the **primary** server disappears, Aiven's management platform uses -a **60-second timeout** before marking the server as down and promoting -a replica server as new primary. During this 60-second timeout, the -master is unavailable (`servicename-projectname.aivencloud.com` does not -respond), and `replica-servicename-projectname.aivencloud.com` works -fine (in read-only mode). - -After the replica promotion, `servicename-projectname.aivencloud.com` -would point to the new primary server, while -`replica-servicename-projectname.aivencloud.com` becomes unreachable. -Finally, a new replica server is created, and after the synchronisation -with the primary, the `replica-servicename-projectname.aivencloud.com` -DNS is switched to point to the new replica server. +If the primary server disappears, Aiven's management platform uses an initial 60-second +timeout before marking the server as down and promoting a replica server as new primary. +During this 60-second timeout, the master is unavailable +(`servicename-projectname.aivencloud.com` does not respond), and +`replica-servicename-projectname.aivencloud.com` works fine (in read-only mode). + +After the replica promotion, `servicename-projectname.aivencloud.com` would point to the +new primary server, while `replica-servicename-projectname.aivencloud.com` becomes +unreachable. Finally, a new replica server is created, and after the synchronisation with +the primary, the `replica-servicename-projectname.aivencloud.com` DNS is switched to point +to the new replica server. + +Recovery time can take up to 180 seconds depending on client side settings and when in the +DNS TTL cycle the disconnection occurs. ### Replica server disconnection -If the **replica** server disappears, Aiven's management platform uses -a **60-second timeout** before marking the server as down and creating a -new replica server. +If the replica server disappears, Aiven's management platform uses an initial 60-second +timeout before marking the server as down and creating a new replica server. :::note Each Aiven for PostgreSQL® Business plan supports one replica server @@ -69,6 +69,9 @@ The DNS record pointing to primary server `SERVICE_NAME-PROJECT_NAME.aivencloud.com` remains unchanged during the recovery of the replica server. +Recovery time can take up to 180 seconds depending on client side settings and when in the +DNS TTL cycle the disconnection occurs. + ## Controlled switchover during upgrades or migrations :::note diff --git a/docs/products/postgresql/howto/connect-node.md b/docs/products/postgresql/howto/connect-node.md index cbec480f8..25eadb60d 100644 --- a/docs/products/postgresql/howto/connect-node.md +++ b/docs/products/postgresql/howto/connect-node.md @@ -5,20 +5,19 @@ title: Connect with NodeJS import CodeBlock from '@theme/CodeBlock'; import MyComponentSource1 from '!!raw-loader!/code/products/postgresql/connect.js'; -This example connects to PostgreSQL® service from NodeJS, making use of -the `pg` package. +This example connects to PostgreSQL® service from NodeJS, making use of the `pg` package. ## Variables These are the placeholders you will need to replace in the code sample: - | Variable | Description | - | ---------- | ----------------------------------------------------------------------- | - | `USER` | PostgreSQL username, from the service overview page | - | `PASSWORD` | PostgreSQL password, from the service overview page | - | `HOST` | Hostname for PostgreSQL connection, from the service overview page | - | `PORT` | Port for PostgreSQL connection, from the service overview page | - | `DATABASE` | Database Name for PostgreSQL connection, from the service overview page | +| Variable | Description | +| ---------- | ----------------------------------------------------------------------- | +| `USER` | PostgreSQL username, from the service overview page | +| `PASSWORD` | PostgreSQL password, from the service overview page | +| `HOST` | Hostname for PostgreSQL connection, from the service overview page | +| `PORT` | Port for PostgreSQL connection, from the service overview page | +| `DATABASE` | Database Name for PostgreSQL connection, from the service overview page | ## Prerequisites @@ -26,7 +25,7 @@ For this example you will need: - The npm `pg` package: - ``` + ```bash npm install pg --save ``` @@ -46,13 +45,13 @@ response. To run the code: -``` +```bash node index.js ``` If the script runs successfully, the outputs should be the PostgreSQL version running in your service like: -``` +```text PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by gcc, a 68c5366192 p 6520304dc1, 64-bit ``` diff --git a/docs/products/postgresql/howto/connect-pgadmin.md b/docs/products/postgresql/howto/connect-pgadmin.md index 3266b5100..97c659717 100644 --- a/docs/products/postgresql/howto/connect-pgadmin.md +++ b/docs/products/postgresql/howto/connect-pgadmin.md @@ -2,8 +2,7 @@ title: Connect with pgAdmin --- -[pgAdmin](https://www.pgadmin.org/) is one of the most popular -PostgreSQL® clients, useful to manage and query your database. +[pgAdmin](https://www.pgadmin.org/) is one of the most popular PostgreSQL® clients. Use it to manage and query your database. ## Variables @@ -26,10 +25,10 @@ website](https://www.pgadmin.org/download/) 1. Open pgAdmin and click **Create New Server**. -2. In the **General** Tab give the connection a name, for example +1. In the **General** Tab give the connection a name, for example `MyDatabase`. -3. In the **Connection** tab, set: +1. In the **Connection** tab, set: - **Host name/address** to `HOSTNAME` - **Port**: to `PORT` @@ -37,9 +36,9 @@ website](https://www.pgadmin.org/download/) - **Username** to `avnadmin` - **Password** to `PASSWORD` -4. In the **SSL** tab, set **SSL mode** to `Require` +1. In the **SSL** tab, set **SSL mode** to `Require` -5. Click **Save** +1. Click **Save** :::tip If you experience a SSL error while connecting, add the service CA diff --git a/docs/products/postgresql/howto/list-code-samples.md b/docs/products/postgresql/howto/list-code-samples.md index 9de5f92cf..b320d41b2 100644 --- a/docs/products/postgresql/howto/list-code-samples.md +++ b/docs/products/postgresql/howto/list-code-samples.md @@ -4,9 +4,7 @@ title: Connect to your Aiven for PostgreSQL® service import DocCardList from '@theme/DocCardList'; -Connect to Aiven for PostgreSQL® with a tool or programming language of your choice. - -All connections to Aiven for PostgreSQL are encrypted and protected with TLS. +Connect to Aiven for PostgreSQL® with a tool or programming language of your choice. All connections to PostgreSQL are encrypted and protected with TLS. For a connection to be established, `sslmode` can be set as follows: diff --git a/docs/products/valkey/howto/connect-valkey-cli.md b/docs/products/valkey/howto/connect-valkey-cli.md index 7adb3c2ed..492e1cb7f 100644 --- a/docs/products/valkey/howto/connect-valkey-cli.md +++ b/docs/products/valkey/howto/connect-valkey-cli.md @@ -4,7 +4,6 @@ title: Connect with valkey-cli Learn how to establish a connection to an Aiven for Valkey™ service using the `valkey-cli`. - ## Variables Replace the following placeholders in the code sample with actual values diff --git a/docs/products/valkey/reference/valkey-metrics-in-prometheus.md b/docs/products/valkey/reference/valkey-metrics-in-prometheus.md new file mode 100644 index 000000000..aba9c1414 --- /dev/null +++ b/docs/products/valkey/reference/valkey-metrics-in-prometheus.md @@ -0,0 +1,53 @@ +--- +title: Aiven for Valkey™ metrics available via Prometheus +sidebar_label: Valkey™ metrics in Prometheus +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import HostMetrics from "@site/static/includes/host-metrics.md"; +import ConsoleLabel from "@site/src/components/ConsoleIcons" + +Monitor and optimize your Aiven for Valkey service with metrics available via Prometheus. +These metrics help track cluster health, replication status, and overall performance. + +## Prerequisites + +- [Enable Prometheus integration](/docs/platform/howto/integrations/prometheus-metrics). +- Note the Prometheus **username** and **password** in the **Integration endpoints** + section of the [Aiven Console](https://console.aiven.io/). + +## Access Prometheus metrics + + + + +1. Open your service's page in the + [Aiven Console](https://console.aiven.io/). +1. In the **Connection information** section, click the **Prometheus** tab. +1. Copy the **Service URI**. +1. Paste the Service URI into your browser's address bar. +1. When prompted, enter your Prometheus credentials. +1. Click **Login**. + + + + +To retrieve metrics, run the following `curl` command: + +```bash +curl --user 'USERNAME:PASSWORD' PROMETHEUS_URL/metrics +``` + +Replace `USERNAME:PASSWORD` with your Prometheus credentials and `PROMETHEUS_URL` +with the Service URI from the **Connection information** section. + + + + + + +## Valkey-specific metrics + +[Valkey-specific metrics](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/redis/README.md#metrics) +provide insights into the performance and health of your Aiven for Valkey service. diff --git a/docs/tools.md b/docs/tools.md index 2c95348c8..35c457c79 100644 --- a/docs/tools.md +++ b/docs/tools.md @@ -8,7 +8,7 @@ import GridContainer from "@site/src/components/GridContainer"; import K8sIcon from "@site/static/images/logos/kubernetes.svg"; import AI from "@site/static/images/logos/star-ai.svg"; -Interact with the Aiven platform with the following tools: +You can interact with the Aiven platform with various interfaces and tools that best suit your workflow. - Manage your Aiven infrastructure with the API, Terraform, Kubernetes, or - CLI. + Manage your Aiven infrastructure with the Aiven API, Terraform Provider, + Kubernetes Operator, or CLI. ), }, diff --git a/src/css/custom.css b/src/css/custom.css index 9a4cc295f..e73fea98c 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -12,7 +12,7 @@ --aiven-radius: 2px; --badge-radius: 50px; --docusaurus-announcement-bar-height: 36px !important; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --docusaurus-highlighted-code-line-bg: rgba(255, 247, 0, 0.2); --feature-background-color: none; --feature-border-color: var(--aiven-grey-05); --feature-border-color-hover: var(--aiven-grey-20); diff --git a/static/_redirects b/static/_redirects index 6e22ddd87..d6909acae 100644 --- a/static/_redirects +++ b/static/_redirects @@ -35,6 +35,8 @@ /platform/concepts/service-scaling https://aiven.io/docs/platform/howto/scale-services /platform/howto/access-service-log https://aiven.io/docs/platform/howto/list-monitoring /platform/howto/access-service-logs https://aiven.io/docs/platform/howto/list-monitoring +/platform/howto/add-project-members https://aiven.io/docs/platform/howto/manage-permissions +/platform/howto/add-groups-projects https://aiven.io/docs/platform/howto/manage-groups /platform/howto/billing-aws-marketplace-subscription https://aiven.io/docs/marketplace-setup /platform/howto/billing-azure-marketplace-subscription https://aiven.io/docs/marketplace-setup /platform/howto/billing-google-cloud-platform-marketplace-subscription https://aiven.io/docs/marketplace-setup @@ -50,6 +52,7 @@ /platform/howto/list-billing https://aiven.io/docs/platform/concepts/billing-and-payment /platform/howto/list-billing-groups https://aiven.io/docs/platform/concepts/billing-groups /platform/howto/list-byoc https://aiven.io/docs/platform/concepts/byoc +/platform/howto/list-groups https://aiven.io/docs/platform/howto/manage-groups /platform/howto/list-identity-providers https://aiven.io/docs/platform/howto/saml/add-identity-providers /platform/howto/list-network https://aiven.io/docs/platform/concepts/cloud-security /platform/howto/list-user https://aiven.io/docs/platform/howto/manage-org-users diff --git a/static/images/content/figma/data-retention.png b/static/images/content/figma/data-retention.png new file mode 100644 index 000000000..3a4a06122 Binary files /dev/null and b/static/images/content/figma/data-retention.png differ diff --git a/static/images/content/figma/mirrormaker-active-active.png b/static/images/content/figma/mirrormaker-active-active.png new file mode 100644 index 000000000..e15eda768 Binary files /dev/null and b/static/images/content/figma/mirrormaker-active-active.png differ diff --git a/static/images/content/figma/mirrormaker-active-passive.png b/static/images/content/figma/mirrormaker-active-passive.png new file mode 100644 index 000000000..7d41075bf Binary files /dev/null and b/static/images/content/figma/mirrormaker-active-passive.png differ diff --git a/static/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Active.png b/static/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Active.png deleted file mode 100644 index fbb8a139e..000000000 Binary files a/static/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Active.png and /dev/null differ diff --git a/static/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Passive.png b/static/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Passive.png deleted file mode 100644 index f086e6e85..000000000 Binary files a/static/images/content/products/kafka/kafka-mirrormaker/Mirrormaker-Active-Passive.png and /dev/null differ diff --git a/static/images/content/products/kafka/tiered-storage/data-retention.png b/static/images/content/products/kafka/tiered-storage/data-retention.png deleted file mode 100644 index b42cc3eaa..000000000 Binary files a/static/images/content/products/kafka/tiered-storage/data-retention.png and /dev/null differ diff --git a/static/includes/config-opensearch.md b/static/includes/config-opensearch.md index 404bb1b48..02264fd4e 100644 --- a/static/includes/config-opensearch.md +++ b/static/includes/config-opensearch.md @@ -30,7 +30,7 @@

Disable replication factor adjustment

-

DEPRECATED: Disable automatic replication factor adjustment for multi-node services. By default, Aiven ensures all indexes are replicated at least to two nodes. Note: Due to potential data loss in case of losing a service node, this setting can no longer be activated.

+

Disable automatic replication factor adjustment for multi-node services. By default, Aiven ensures all indexes are replicated at least to two nodes. Note: Due to potential data loss in case of losing a service node, this setting can not be activated unless specifically allowed for the project.

@@ -247,7 +247,7 @@ @@ -289,7 +289,7 @@ @@ -303,7 +303,7 @@ @@ -342,7 +342,7 @@ @@ -384,14 +384,14 @@ @@ -416,7 +416,7 @@ @@ -458,21 +458,21 @@ @@ -493,7 +493,7 @@ @@ -947,6 +947,13 @@ + + +

The snapshot name to restore from

-

The snapshot name to restore from

+

Indices to restore

-

A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify.

+

A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported.

Account name

-

Azure account name

+

The snapshot name to restore from

-

The snapshot name to restore from

+

Indices to restore

-

A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify.

+

A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported.

-

The path to the repository data within its container

-

Google Cloud Storage bucket name

+

Google Cloud Storage bucket name

+

The path to the repository data within its container

The snapshot name to restore from

-

The snapshot name to restore from

+

Indices to restore

-

A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify.

+

A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported.

S3 bucket name

-

S3 bucket name

+

S3 region

-

S3 region

+

AWS Access key

-

AWS Access key

+
+ + + +
@@ -1106,6 +1113,17 @@

Name of another project to fork a service from. This has effect only when a new service is being created.

+ + + +
+ + + + + +

Elasticsearch major version

+ diff --git a/static/includes/host-metrics.md b/static/includes/host-metrics.md new file mode 100644 index 000000000..a2cb332ec --- /dev/null +++ b/static/includes/host-metrics.md @@ -0,0 +1,256 @@ +## Host metrics +Host metrics provide insights into system-level performance, including CPU, memory, disk, and network usage. + +### CPU utilization + +CPU utilization metrics offer insights into CPU usage. These metrics +include time spent on different processes, system load, and overall uptime. + +| Metric | Description | +|-------------------------|-------------------------------------------------------------------------------------------------------| +| `cpu_usage_guest` | CPU time spent running a virtual CPU for guest operating systems | +| `cpu_usage_guest_nice` | CPU time running low-priority virtual CPUs for guest operating systems; interrupted by higher-priority tasks and measured in hundredths of a second| +| `cpu_usage_idle` | Time the CPU spends doing nothing | +| `cpu_usage_iowait` | Time waiting for I/O to complete | +| `cpu_usage_irq` | Time servicing interrupts | +| `cpu_usage_nice` | Time running user-niced processes | +| `cpu_usage_softirq` | Time servicing softirqs | +| `cpu_usage_steal` | Time spent in other operating systems when running in a virtualized environment | +| `cpu_usage_system` | Time spent running system processes | +| `cpu_usage_user` | Time spent running user processes | +| `system_load1` | System load average for the last minute | +| `system_load15` | System load average for the last 15 minutes | +| `system_load5` | System load average for the last 5 minutes | +| `system_n_cpus` | Number of CPU cores available | +| `system_n_users` | Number of users logged in | +| `system_uptime` | Time for which the system has been up and running | + +### Disk space utilization + +Disk space utilization metrics provide a snapshot of disk usage. These metrics include +information about free and used disk space, as well as `inode` usage and +total disk capacity. + +| Metric | Description | +|----------------------|-------------------------------| +| `disk_free` | Amount of free disk space | +| `disk_inodes_free` | Number of free inodes | +| `disk_inodes_total` | Total number of inodes | +| `disk_inodes_used` | Number of used inodes | +| `disk_total` | Total disk space | +| `disk_used` | Amount of used disk space | +| `disk_used_percent` | Percentage of disk space used| + +### Disk input and output + +Metrics such as `diskio_io_time` and `diskio_iops_in_progress` provide insights into +disk I/O operations. These metrics cover read/write operations, the duration of these +operations, and the number of bytes read/written. + +| Metric | Description | +|--------------------------|-------------------------------------------------------------------------------------------------------| +| `diskio_io_time` | Total time spent on I/O operations | +| `diskio_iops_in_progress`| Number of I/O operations currently in progress | +| `diskio_merged_reads` | Number of read operations that were merged | +| `diskio_merged_writes` | Number of write operations that were merged | +| `diskio_read_bytes` | Total bytes read from disk | +| `diskio_read_time` | Total time spent on read operations | +| `diskio_reads` | Total number of read operations | +| `diskio_weighted_io_time`| Weighted time spent on I/O operations, considering their duration and intensity | +| `diskio_write_bytes` | Total bytes written to disk | +| `diskio_write_time` | Total time spent on write operations | +| `diskio_writes` | Total number of write operations | + +### Generic memory + +The following metrics, including `mem_active` and `mem_available`, provide insights into +your system's memory usage. + +| Metric | Description | +|--------------------------|----------------------------------------------------------------| +| `mem_active` | Amount of actively used memory | +| `mem_available` | Amount of available memory | +| `mem_available_percent` | Percentage of available memory | +| `mem_buffered` | Amount of memory used for buffering I/O | +| `mem_cached` | Amount of memory used for caching | +| `mem_commit_limit` | Maximum amount of memory that can be committed | +| `mem_committed_as` | Total amount of committed memory | +| `mem_dirty` | Amount of memory waiting to be written to disk | +| `mem_free` | Amount of free memory | +| `mem_high_free` | Amount of free memory in the high memory zone | +| `mem_high_total` | Total amount of memory in the high memory zone | +| `mem_huge_pages_free` | Number of free huge pages | +| `mem_huge_page_size` | Size of huge pages | +| `mem_huge_pages_total` | Total number of huge pages | +| `mem_inactive` | Amount of inactive memory | +| `mem_low_free` | Amount of free memory in the low memory zone | +| `mem_low_total` | Total amount of memory in the low memory zone | +| `mem_mapped` | Amount of memory mapped into the process's address space | +| `mem_page_tables` | Amount of memory used by page tables | +| `mem_shared` | Amount of memory shared between processes | +| `mem_slab` | Amount of memory used by the kernel for data structure caches | +| `mem_swap_cached` | Amount of swap memory cached | +| `mem_swap_free` | Amount of free swap memory | +| `mem_swap_total` | Total amount of swap memory | +| `mem_total` | Total amount of memory | +| `mem_used` | Amount of used memory | +| `mem_used_percent` | Percentage of used memory | +| `mem_vmalloc_chunk` | Largest contiguous block of vmalloc memory available | +| `mem_vmalloc_total` | Total amount of vmalloc memory | +| `mem_vmalloc_used` | Amount of used vmalloc memory | +| `mem_wired` | Amount of wired memory | +| `mem_write_back` | Amount of memory being written back to disk | +| `mem_write_back_tmp` | Amount of temporary memory being written back to disk | + +### Network + +The following metrics, including `net_bytes_recv` and `net_packets_sent`, provide insights +into your system's network operations. + +| Metric | Description | +|------------------------------|---------------------------------------------------------------------------------| +| `net_bytes_recv` | Total bytes received on the network interfaces | +| `net_bytes_sent` | Total bytes sent on the network interfaces | +| `net_drop_in` | Incoming packets dropped | +| `net_drop_out` | Outgoing packets dropped | +| `net_err_in` | Incoming packets with errors | +| `net_err_out` | Outgoing packets with errors | +| `net_icmp_inaddrmaskreps` | Number of ICMP address mask replies received | +| `net_icmp_inaddrmasks` | Number of ICMP address mask requests received | +| `net_icmp_incsumerrors` | Number of ICMP checksum errors | +| `net_icmp_indestunreachs` | Number of ICMP destination unreachable messages received | +| `net_icmp_inechoreps` | Number of ICMP echo replies received | +| `net_icmp_inechos` | Number of ICMP echo requests received | +| `net_icmp_inerrors` | Number of ICMP messages received with errors | +| `net_icmp_inmsgs` | Total number of ICMP messages received | +| `net_icmp_inparmprobs` | Number of ICMP parameter problem messages received | +| `net_icmp_inredirects` | Number of ICMP redirect messages received | +| `net_icmp_insrcquenchs` | Number of ICMP source quench messages received | +| `net_icmp_intimeexcds` | Number of ICMP time exceeded messages received | +| `net_icmp_intimestampreps` | Number of ICMP timestamp reply messages received | +| `net_icmp_intimestamps` | Number of ICMP timestamp request messages received | +| `net_icmpmsg_intype3` | Number of ICMP type 3 (destination unreachable) messages received | +| `net_icmpmsg_intype8` | Number of ICMP type 8 (echo request) messages received | +| `net_icmpmsg_outtype0` | Number of ICMP type 0 (echo reply) messages sent | +| `net_icmpmsg_outtype3` | Number of ICMP type 3 (destination unreachable) messages sent | +| `net_icmp_outaddrmaskreps` | Number of ICMP address mask reply messages sent | +| `net_icmp_outaddrmasks` | Number of ICMP address mask request messages sent | +| `net_icmp_outdestunreachs` | Number of ICMP destination unreachable messages sent | +| `net_icmp_outechoreps` | Number of ICMP echo reply messages sent | +| `net_icmp_outechos` | Number of ICMP echo request messages sent | +| `net_icmp_outerrors` | Number of ICMP messages sent with errors | +| `net_icmp_outmsgs` | Total number of ICMP messages sent | +| `net_icmp_outparmprobs` | Number of ICMP parameter problem messages sent | +| `net_icmp_outredirects` | Number of ICMP redirect messages sent | +| `net_icmp_outsrcquenchs` | Number of ICMP source quench messages sent | +| `net_icmp_outtimeexcds` | Number of ICMP time exceeded messages sent | +| `net_icmp_outtimestampreps` | Number of ICMP timestamp reply messages sent | +| `net_icmp_outtimestamps` | Number of ICMP timestamp request messages sent | +| `net_icmp_outratelimitglobal`| Number of globally rate-limited ICMP messages sent | +| `net_icmp_outratelimithost` | Number of ICMP messages rate-limited per host | +| `net_ip_defaultttl` | Default time-to-live for IP packets | +| `net_ip_forwarding` | Indicates if IP forwarding is enabled | +| `net_ip_forwdatagrams` | Number of forwarded IP datagrams | +| `net_ip_fragcreates` | Number of IP fragments created | +| `net_ip_fragfails` | Number of failed IP fragmentations | +| `net_ip_fragoks` | Number of successful IP fragmentations | +| `net_ip_inaddrerrors` | Number of incoming IP packets with address errors | +| `net_ip_indelivers` | Number of incoming IP packets delivered to higher layers | +| `net_ip_indiscards` | Number of incoming IP packets discarded | +| `net_ip_inhdrerrors` | Number of incoming IP packets with header errors | +| `net_ip_inreceives` | Total number of incoming IP packets received | +| `net_ip_inunknownprotos` | Number of incoming IP packets with unknown protocols | +| `net_ip_outdiscards` | Number of outgoing IP packets discarded | +| `net_ip_outnoroutes` | Number of outgoing IP packets with no route available | +| `net_ip_outrequests` | Total number of outgoing IP packets requested to be sent | +| `net_ip_outtransmits` | Number of IP packets transmitted successfully | +| `net_ip_reasmfails` | Number of failed IP reassembly attempts | +| `net_ip_reasmoks` | Number of successful IP reassembly attempts | +| `net_ip_reasmreqds` | Number of IP fragments received needing reassembly | +| `net_ip_reasmtimeout` | Number of IP reassembly timeouts | +| `net_packets_recv` | Total number of packets received on the network interfaces | +| `net_packets_sent` | Total number of packets sent on the network interfaces | +| `netstat_tcp_close` | Number of TCP connections in the CLOSE state | +| `netstat_tcp_close_wait` | Number of TCP connections in the CLOSE_WAIT state | +| `netstat_tcp_closing` | Number of TCP connections in the CLOSING state | +| `netstat_tcp_established` | Number of TCP connections in the ESTABLISHED state | +| `netstat_tcp_fin_wait1` | Number of TCP connections in the FIN_WAIT_1 state | +| `netstat_tcp_fin_wait2` | Number of TCP connections in the FIN_WAIT_2 state | +| `netstat_tcp_last_ack` | Number of TCP connections in the LAST_ACK state | +| `netstat_tcp_listen` | Number of TCP connections in the LISTEN state | +| `netstat_tcp_none` | Number of TCP connections in the NONE state | +| `netstat_tcp_syn_recv` | Number of TCP connections in the SYN_RECV state | +| `netstat_tcp_syn_sent` | Number of TCP connections in the SYN_SENT state | +| `netstat_tcp_time_wait` | Number of TCP connections in the TIME_WAIT state | +| `netstat_udp_socket` | Number of UDP sockets | +| `net_tcp_activeopens` | Number of active TCP open connections | +| `net_tcp_attemptfails` | Number of failed TCP connection attempts | +| `net_tcp_currestab` | Number of currently established TCP connections | +| `net_tcp_estabresets` | Number of established TCP connections reset | +| `net_tcp_incsumerrors` | Number of TCP checksum errors in incoming packets | +| `net_tcp_inerrs` | Number of incoming TCP packets with errors | +| `net_tcp_insegs` | Number of TCP segments received | +| `net_tcp_maxconn` | Maximum number of TCP connections supported | +| `net_tcp_outrsts` | Number of TCP reset packets sent | +| `net_tcp_outsegs` | Number of TCP segments sent | +| `net_tcp_passiveopens` | Number of passive TCP open connections | +| `net_tcp_retranssegs` | Number of TCP segments retransmitted | +| `net_tcp_rtoalgorithm` | TCP retransmission timeout algorithm | +| `net_tcp_rtomax` | Maximum TCP retransmission timeout | +| `net_tcp_rtomin` | Minimum TCP retransmission timeout | +| `net_udp_ignoredmulti` | Number of UDP multicast packets ignored | +| `net_udp_incsumerrors` | Number of UDP checksum errors in incoming packets | +| `net_udp_indatagrams` | Number of UDP datagrams received | +| `net_udp_inerrors` | Number of incoming UDP packets with errors | +| `net_udp_memerrors` | Number of UDP packets dropped due to memory errors | +| `net_udplite_ignoredmulti` | Number of UDP-Lite multicast packets ignored | +| `net_udplite_incsumerrors` | Number of UDP-Lite checksum errors in incoming packets | +| `net_udplite_indatagrams` | Number of UDP-Lite datagrams received | +| `net_udplite_inerrors` | Number of incoming UDP-Lite packets with errors | +| `net_udplite_memerrors` | Number of UDP-L + +### Kernel + +The metrics listed below, such as `kernel_boot_time` and `kernel_context_switches`, provide +insights into the operations of your system's kernel. + +| Metric | Description | +|----------------------------|--------------------------------------------------| +| `kernel_boot_time` | Time at which the system was last booted | +| `kernel_context_switches` | Number of context switches that have occurred in the kernel | +| `kernel_entropy_avail` | Amount of available entropy in the kernel's entropy pool | +| `kernel_interrupts` | Number of interrupts that have occurred | +| `kernel_processes_forked` | Number of processes that have been forked | + +### Process + +Metrics such as `processes_running` and `processes_zombies` provide insights into the +management of the system's processes. + +| Metric | Description | +|----------------------------|-----------------------------------------------------------------------------| +| `processes_blocked` | Number of processes that are blocked | +| `processes_dead` | Number of processes that have terminated | +| `processes_idle` | Number of processes that are idle | +| `processes_paging` | Number of processes that are paging | +| `processes_running` | Number of processes currently running | +| `processes_sleeping` | Number of processes that are sleeping | +| `processes_stopped` | Number of processes that are stopped | +| `processes_total` | Total number of processes | +| `processes_total_threads` | Total number of threads across all processes | +| `processes_unknown` | Number of processes in an unknown state | +| `processes_zombies` | Number of zombie processes (terminated but not reaped by parent process) + +### Swap usage + +Metrics such as `swap_free` and `swap_used` provide insights into the usage of the +system's swap memory. + +| Metric | Description | +|--------------------|--------------------------------------------------| +| `swap_free` | Amount of free swap memory | +| `swap_in` | Amount of data swapped in from disk | +| `swap_out` | Amount of data swapped out to disk | +| `swap_total` | Total amount of swap memory | +| `swap_used` | Amount of used swap memory | +| `swap_used_percent`| Percentage of swap memory used | diff --git a/yarn.lock b/yarn.lock index 22513c884..420e7bb23 100644 --- a/yarn.lock +++ b/yarn.lock @@ -108,6 +108,18 @@ __metadata: languageName: node linkType: hard +"@algolia/client-abtesting@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/client-abtesting@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/0fcb06e8502fbc15f35db47c6cdfa8c405c9a1751050b56966cfb67e59022b64138f19f02f6de62bb90d9f72ffd400fd8998830fc1bd8dfe7f7391c36c3166c4 + languageName: node + linkType: hard + "@algolia/client-account@npm:4.24.0": version: 4.24.0 resolution: "@algolia/client-account@npm:4.24.0" @@ -143,6 +155,18 @@ __metadata: languageName: node linkType: hard +"@algolia/client-analytics@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/client-analytics@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/c46d6fff92dd99b00baafedb500d6784b502cbf26b3ebcd0d1a05b8d26f93aab4cf1fa38b87612a21c0dbb30aee985d10a5016e555353fb73c249f93982e110f + languageName: node + linkType: hard + "@algolia/client-common@npm:4.24.0": version: 4.24.0 resolution: "@algolia/client-common@npm:4.24.0" @@ -160,6 +184,13 @@ __metadata: languageName: node linkType: hard +"@algolia/client-common@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/client-common@npm:5.15.0" + checksum: 10c0/94b1cbc12a453baf18306cf53e7da318bf46e3c0d0cae9763dbf7bd6a3c1ba0ee9046c087f31daf0e0a0cfd233d4b4bd4365c1ef8dcb85e9948a0791f7321df2 + languageName: node + linkType: hard + "@algolia/client-insights@npm:5.13.0": version: 5.13.0 resolution: "@algolia/client-insights@npm:5.13.0" @@ -172,6 +203,18 @@ __metadata: languageName: node linkType: hard +"@algolia/client-insights@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/client-insights@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/e0a73f14be8d147d2ff65bb98245cdd8c0262d200f2ac19274b88fbd871e87686909731871af344cf0ff719c83915b003948b69d79b02e9c36e79eef2e776e4d + languageName: node + linkType: hard + "@algolia/client-personalization@npm:4.24.0": version: 4.24.0 resolution: "@algolia/client-personalization@npm:4.24.0" @@ -195,6 +238,18 @@ __metadata: languageName: node linkType: hard +"@algolia/client-personalization@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/client-personalization@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/4a276fc8477d7a45abc631548f7512988ea0270b4376df1e608382f4e79e4d9984c7946d50d9eed223d41dd227cb9be0a6d9ee217e4cc7c8a9c020d8097d53ec + languageName: node + linkType: hard + "@algolia/client-query-suggestions@npm:5.13.0": version: 5.13.0 resolution: "@algolia/client-query-suggestions@npm:5.13.0" @@ -207,6 +262,18 @@ __metadata: languageName: node linkType: hard +"@algolia/client-query-suggestions@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/client-query-suggestions@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/4e891a37c8cba8ea64e615a27929387d57036452b1dd0bc0af562c33f8c08915ce9886e8a0eee7497e4669945a89c772e23b6e626baa352e492f3a18e5eb6220 + languageName: node + linkType: hard + "@algolia/client-search@npm:4.24.0": version: 4.24.0 resolution: "@algolia/client-search@npm:4.24.0" @@ -218,7 +285,7 @@ __metadata: languageName: node linkType: hard -"@algolia/client-search@npm:5.13.0, @algolia/client-search@npm:^5.13.0": +"@algolia/client-search@npm:5.13.0": version: 5.13.0 resolution: "@algolia/client-search@npm:5.13.0" dependencies: @@ -230,6 +297,18 @@ __metadata: languageName: node linkType: hard +"@algolia/client-search@npm:5.15.0, @algolia/client-search@npm:^5.15.0": + version: 5.15.0 + resolution: "@algolia/client-search@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/5121547beca7affa6568658a5c1eceec636ba1af7a76fd450d1bcb95ed8a41a21c34947cc5f5053fa55c6fab7449b79b8c128a52f8f192677b0707b6a2692a44 + languageName: node + linkType: hard + "@algolia/events@npm:^4.0.1": version: 4.0.1 resolution: "@algolia/events@npm:4.0.1" @@ -249,6 +328,18 @@ __metadata: languageName: node linkType: hard +"@algolia/ingestion@npm:1.15.0": + version: 1.15.0 + resolution: "@algolia/ingestion@npm:1.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/0fdc41f9be87e37dc6a8e493718929932eb051b22002f911efe76836b1ef05be0585d39ac2d2face94a03f443efbde574b8065e537fa8aa4378aadf1c7e571be + languageName: node + linkType: hard + "@algolia/logger-common@npm:4.24.0": version: 4.24.0 resolution: "@algolia/logger-common@npm:4.24.0" @@ -277,6 +368,18 @@ __metadata: languageName: node linkType: hard +"@algolia/monitoring@npm:1.15.0": + version: 1.15.0 + resolution: "@algolia/monitoring@npm:1.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/07f7fc607ee42e39e09a84686e30767fe83601b407a98918fd8eb9ae7a9c6a6ab7d817140d6c2565416082926bc9860214b70d398cd60974efd7925946e315ba + languageName: node + linkType: hard + "@algolia/recommend@npm:4.24.0": version: 4.24.0 resolution: "@algolia/recommend@npm:4.24.0" @@ -308,6 +411,18 @@ __metadata: languageName: node linkType: hard +"@algolia/recommend@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/recommend@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/05711b83cfd943a5020ca1322444e46ab99a855f25d24c7f22a99f2eb511674a84d0614e27e42292f3f7fb9a6665a1f3bcdbc9e309cd30368b8f77d51f2442da + languageName: node + linkType: hard + "@algolia/requester-browser-xhr@npm:4.24.0": version: 4.24.0 resolution: "@algolia/requester-browser-xhr@npm:4.24.0" @@ -326,6 +441,15 @@ __metadata: languageName: node linkType: hard +"@algolia/requester-browser-xhr@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/requester-browser-xhr@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + checksum: 10c0/f3488c540abdbc653bdd0e671dc32c91bf5252c374dea4066987043fba9b63902801fe8292ed584af295274e06417b8f8deafc7b06229eba095d8b77baeadda2 + languageName: node + linkType: hard + "@algolia/requester-common@npm:4.24.0": version: 4.24.0 resolution: "@algolia/requester-common@npm:4.24.0" @@ -342,6 +466,15 @@ __metadata: languageName: node linkType: hard +"@algolia/requester-fetch@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/requester-fetch@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + checksum: 10c0/d38f657f7b90fdcd0a9fb43c0bb222ed3533d461f426b2a07b0df9cc307791bc5755d3fd56eb8c938a935aeb96466c7dc16c8b3fa929218849831cab5b600114 + languageName: node + linkType: hard + "@algolia/requester-node-http@npm:4.24.0": version: 4.24.0 resolution: "@algolia/requester-node-http@npm:4.24.0" @@ -360,6 +493,15 @@ __metadata: languageName: node linkType: hard +"@algolia/requester-node-http@npm:5.15.0": + version: 5.15.0 + resolution: "@algolia/requester-node-http@npm:5.15.0" + dependencies: + "@algolia/client-common": "npm:5.15.0" + checksum: 10c0/06f7b48e6ae1c57cd64beaedb5c9b417f912c4c7487cf06a8fef424077be3b844a4a5bbf7e45db8611f21ebfc2f7b5b16bbf46a8ebe372786a0ec001e37ae374 + languageName: node + linkType: hard + "@algolia/transporter@npm:4.24.0": version: 4.24.0 resolution: "@algolia/transporter@npm:4.24.0" @@ -1726,6 +1868,496 @@ __metadata: languageName: node linkType: hard +"@csstools/cascade-layer-name-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced + languageName: node + linkType: hard + +"@csstools/color-helpers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/color-helpers@npm:5.0.1" + checksum: 10c0/77fa3b7236eaa3f36dea24708ac0d5e53168903624ac5aed54615752a0730cd20773fda50e742ce868012eca8c000cc39688e05869e79f34714230ab6968d1e6 + languageName: node + linkType: hard + +"@csstools/css-calc@npm:^2.1.0": + version: 2.1.0 + resolution: "@csstools/css-calc@npm:2.1.0" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/c707bb533a6ea63ed5bb4b8f1ffcbf3cd2daf970a6d76d42b684243426f5aa7513179a8f34d2e3c5a85df3870f44d3bc2850ca40b085c5fe00b41a291a2ecae2 + languageName: node + linkType: hard + +"@csstools/css-color-parser@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/css-color-parser@npm:3.0.6" + dependencies: + "@csstools/color-helpers": "npm:^5.0.1" + "@csstools/css-calc": "npm:^2.1.0" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/7c4f42a704c8c44cece75f5dcd647a83634dec0f44d398ae1fbdc6e8527d4fbdc3a809eaaba3b739edf8e3c09d62c28234636f250f9b0b0d52a599e824c22047 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" + peerDependencies: + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 + languageName: node + linkType: hard + +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d + languageName: node + linkType: hard + +"@csstools/postcss-cascade-layers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-cascade-layers@npm:5.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1 + languageName: node + linkType: hard + +"@csstools/postcss-color-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-color-function@npm:4.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/facbae01fd58898a176219cfcffee9ffb06fb466a2c439fd28403819e48778b682621b86a69682c0f758c659f8ec5f14eca1a9612b12b8777a2198173f386b49 + languageName: node + linkType: hard + +"@csstools/postcss-color-mix-function@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/66b906b2425ed137b1c2ef3d166036719ae69039668385dccce4e02bd91e41733b37dd3c884b74a2999067bfe8a8d8d1afa4082ef21a0bf044ba7e7fffb77e01 + languageName: node + linkType: hard + +"@csstools/postcss-content-alt-text@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.4" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/84caccedd8a519df434babd58b14104c5a92cd326057ce509bdbaa2a4bb3130afb1c1456caf30235ba14da52d1628a5411ea4f5d2fb558d603d234f795538017 + languageName: node + linkType: hard + +"@csstools/postcss-exponential-functions@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.5" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8935cb69f70d7448aa5a3dcdfd188bdcfbc34e9a99131306947df8847126272773212011dcff85e10bcee4c9d01f94f7f8557ef93933122a0b82743185684ab1 + languageName: node + linkType: hard + +"@csstools/postcss-font-format-keywords@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-font-format-keywords@npm:4.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/eb794fb95fefcac75e606d185255e601636af177866a317b0c6b6c375055e7240be53918229fd8d4bba00df01bedd2256bdac2b0ad4a4c2ec64f9d27cd6ff639 + languageName: node + linkType: hard + +"@csstools/postcss-gamut-mapping@npm:^2.0.6": + version: 2.0.6 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8a3f012774ab261924cc9f3519caa87a25a6abcd70d78f622144d8e7126a687bddbdaa92995fc30f53355759cd5971e71ac099b6b8cb85c89d8ca86455588e3b + languageName: node + linkType: hard + +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.6": + version: 5.0.6 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0d97be76837f972ea323b58189ded2310b618ad94b40777464d0d8ac050b557ca9fd1f20af5ada105d61574cc9d8c119ae0daf294a3aacaaa89926f864d9d674 + languageName: node + linkType: hard + +"@csstools/postcss-hwb-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-hwb-function@npm:4.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/e7bcc98095ef2873a7b1a7326f1618bbeecc1c78660b23805bbefd8ec067bf2f35f2a2d4675be51a02d2280046f36f74d55f6af78e3ce107b82624d1a421ffcf + languageName: node + linkType: hard + +"@csstools/postcss-ic-unit@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-ic-unit@npm:4.0.0" + dependencies: + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6f94ec31002a245768a30d240c432b8712af4d9ea76a62403e16d4e0afb5be7636348a2d4619046ed29aa7726f88a0c191ca41c96d7ab0f3da940025c91b056e + languageName: node + linkType: hard + +"@csstools/postcss-initial@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-initial@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/44c443cba84cc66367f2082bf20db06c8437338c02c244c38798c5bf5342932d89fed0dd13e4409f084ecf7fce47ae6394e9a7a006fd98a973decfa24ab1eb04 + languageName: node + linkType: hard + +"@csstools/postcss-is-pseudo-class@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c + languageName: node + linkType: hard + +"@csstools/postcss-light-dark-function@npm:^2.0.7": + version: 2.0.7 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.7" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/c116bfd2d3f4d0caabdedf8954c2a25908ffb29f9bbe2c57d44a2974277c7e46ee79862eea848385dc040275d343f2330350394a2095ec30f0aa17f72e2f4e39 + languageName: node + linkType: hard + +"@csstools/postcss-logical-float-and-clear@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/postcss-logical-float-and-clear@npm:3.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/71a20e8c37877bf68ae615d7bb93fc11b4f8da8be8b1dc1a6e0fc69e27f189712ed71436b8ed51fa69fdb98b8e6718df2b5f42f246c4d39badaf0e43020fcfd4 + languageName: node + linkType: hard + +"@csstools/postcss-logical-overflow@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-logical-overflow@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0e103343d3ff8b34eef01b02355c5e010d272fd12d149a242026bb13ab1577b7f3a11fd4514be9342d96f73d61dac1f093a9bd36ece591753ed09a84eb7fca0a + languageName: node + linkType: hard + +"@csstools/postcss-logical-overscroll-behavior@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/postcss-logical-overscroll-behavior@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/1649601bb26f04d760fb5ebc42cdf414fa2a380b8ec22fe1c117f664c286665a786bd7bbda01b7e7567eaf3cc018a4f36a5c9805f6751cc497da223e0ffe9524 + languageName: node + linkType: hard + +"@csstools/postcss-logical-resize@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/postcss-logical-resize@npm:3.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4f12efcaf5468ff359bb3f32f0f66034b9acc9b3ac21fcd2f30a1c8998fc653ebac0091f35c8b7e8dbfe6ccf595aee67f9b06a67adf45a8844e49a82d98b4386 + languageName: node + linkType: hard + +"@csstools/postcss-logical-viewport-units@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3" + dependencies: + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec + languageName: node + linkType: hard + +"@csstools/postcss-media-minmax@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-media-minmax@npm:2.0.5" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/0d17782076fcaba2c3c85bd769fc102d95809e9ee6141ad9de706ee116466cada62424fd68623c58cc2456771725291c356e550377ba73a102ab6fe628931e30 + languageName: node + linkType: hard + +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4" + dependencies: + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739 + languageName: node + linkType: hard + +"@csstools/postcss-nested-calc@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-nested-calc@npm:4.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/fb61512fa4909bdf0ee32a23e771145086c445f2208a737b52093c8adfab7362c56d3aeaf2a6e33ffcec067e99a07219775465d2fbb1a3ac30cdcfb278b218b7 + languageName: node + linkType: hard + +"@csstools/postcss-normalize-display-values@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-normalize-display-values@npm:4.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/d3a3a362b532163bd791f97348ef28b7a43baf01987c7702b06285e751cdc5ea3e3a2553f088260515b4d28263d5c475923d4d4780ecb4078ec66dff50c9e638 + languageName: node + linkType: hard + +"@csstools/postcss-oklab-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-oklab-function@npm:4.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/74ec74eb7171881deeff7a79e0dc696097fb53dcdcd9627d9559cd7be63f41adecec06c1e88ddd5d8a37f4705715d1c0c135ca2b001fb70fdc0b76ab1e491b66 + languageName: node + linkType: hard + +"@csstools/postcss-progressive-custom-properties@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-progressive-custom-properties@npm:4.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/517e5e0b1525667ea1c4469bb2af52995934b9ab3165bba33e3bfdfac63b20bb51c878da582d805957dc0291e396e5a540cac18d1220a08190d98d5463d26ce2 + languageName: node + linkType: hard + +"@csstools/postcss-random-function@npm:^1.0.1": + version: 1.0.1 + resolution: "@csstools/postcss-random-function@npm:1.0.1" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5e8f29c024aa6ed1f89ee8b9c8ece39c8e72602d63faa82d9684e3183828f01971cf2f760b7d5b773605d44a4ea661d6d4389ec03f7e21002f9aa9e8db613a61 + languageName: node + linkType: hard + +"@csstools/postcss-relative-color-syntax@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/207ae711831f8ae9170093dbea3727cd6f32ca31d22c1231b5b678592679eb49e329e87ea403714b8e10feb5b9137780364cc7e1e7d8cc4c90d47483a42132dc + languageName: node + linkType: hard + +"@csstools/postcss-scope-pseudo-class@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee + languageName: node + linkType: hard + +"@csstools/postcss-sign-functions@npm:^1.1.0": + version: 1.1.0 + resolution: "@csstools/postcss-sign-functions@npm:1.1.0" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/503bbaa8fe1d1a619880d5d6b838f07f1898a5820889e5db3c4e02bb8b340dab18b88f439f9f1da44c6669bab2d4ba3f9543643ccc459d8a21191c5d22109c9b + languageName: node + linkType: hard + +"@csstools/postcss-stepped-value-functions@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.5" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/76f1f60c24b9e6a80b044eb19f37c1816788a2335fbf7c25f3fbea1cd7104857f424a451dcff60e4f8841618c6b6ffa6091f8b840d6d5930c1c7100c2f8ae74b + languageName: node + linkType: hard + +"@csstools/postcss-text-decoration-shorthand@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-text-decoration-shorthand@npm:4.0.1" + dependencies: + "@csstools/color-helpers": "npm:^5.0.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/81950e248d6019c0066353895e0fa2a5c684b754c9af349218cb919534f5ebf79e5e9c7a10b3af1e9c56de2f246968de3b87a00d8c4102e5f88e0f05c04f9889 + languageName: node + linkType: hard + +"@csstools/postcss-trigonometric-functions@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.5" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/b8518c8b81da047448dcee12a5f3716dbc19671333387a4a673991a16f1a120441d2768de8a30ce1e2ef8d0d76509b9509f506ef1e8630da84834451414b23a3 + languageName: node + linkType: hard + +"@csstools/postcss-unset-value@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/postcss-unset-value@npm:4.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8424ac700ded5bf59d49310335896f10c069e2c3fc6a676b5d13ca5a6fb78689b948f50494df875da284c4c76651deb005eafba70d87e693274628c5a685abfa + languageName: node + linkType: hard + +"@csstools/selector-resolve-nested@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/selector-resolve-nested@npm:3.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb + languageName: node + linkType: hard + +"@csstools/utilities@npm:^2.0.0": + version: 2.0.0 + resolution: "@csstools/utilities@npm:2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/be5c31437b726928f64cd4bb3e47f5b90bfd2e2a69a8eaabd8e89cc6c0977e4f0f7ee48de50c8ed8b07e04e3956a02293247e0da3236d521fb2e836f88f65822 + languageName: node + linkType: hard + "@discoveryjs/json-ext@npm:0.5.7": version: 0.5.7 resolution: "@discoveryjs/json-ext@npm:0.5.7" @@ -1766,9 +2398,9 @@ __metadata: languageName: node linkType: hard -"@docusaurus/babel@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/babel@npm:3.6.1" +"@docusaurus/babel@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/babel@npm:3.6.3" dependencies: "@babel/core": "npm:^7.25.9" "@babel/generator": "npm:^7.25.9" @@ -1780,26 +2412,25 @@ __metadata: "@babel/runtime": "npm:^7.25.9" "@babel/runtime-corejs3": "npm:^7.25.9" "@babel/traverse": "npm:^7.25.9" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" babel-plugin-dynamic-import-node: "npm:^2.3.3" fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" - checksum: 10c0/66e3ce0e837e6d507539c1cf9754ff5e7e0d0198c9d5cf0b99c5de48bccdf747b6bc3459f267c0123587a8497cbe2b7241bd49dfeb8a5a5e2b015088e4e2a908 + checksum: 10c0/b4436423a95afa60709ec285e56f93c7825274bcacbf6ede1fb9aea1ee02095ab8179456c0a7ba7070fa216f3a6a46db7493b3abb5cd54f4d76cf154bd978b8f languageName: node linkType: hard -"@docusaurus/bundler@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/bundler@npm:3.6.1" +"@docusaurus/bundler@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/bundler@npm:3.6.3" dependencies: "@babel/core": "npm:^7.25.9" - "@docusaurus/babel": "npm:3.6.1" - "@docusaurus/cssnano-preset": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - autoprefixer: "npm:^10.4.14" + "@docusaurus/babel": "npm:3.6.3" + "@docusaurus/cssnano-preset": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" babel-loader: "npm:^9.2.1" clean-css: "npm:^5.3.2" copy-webpack-plugin: "npm:^11.0.0" @@ -1812,6 +2443,7 @@ __metadata: null-loader: "npm:^4.0.1" postcss: "npm:^8.4.26" postcss-loader: "npm:^7.3.3" + postcss-preset-env: "npm:^10.1.0" react-dev-utils: "npm:^12.0.1" terser-webpack-plugin: "npm:^5.3.9" tslib: "npm:^2.6.0" @@ -1823,21 +2455,21 @@ __metadata: peerDependenciesMeta: "@docusaurus/faster": optional: true - checksum: 10c0/03f7b04cb9bd9e0877eeadda1ccf5d097b952aebad4840f4ce170f477652e8a30d37c04a9d9c3dd857ece193e9ce35cccff144e7bf521f35fee2e6a053dd9bc2 + checksum: 10c0/abe5fc932fe2c884f2d554b61e8e56ec21c629a4dc28c6b9d199639b10beb83c37e0e47bab1ed8bee40b171ce4afa1dbdce5494fcac8b3089b44a6e170b6d499 languageName: node linkType: hard -"@docusaurus/core@npm:3.6.1, @docusaurus/core@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/core@npm:3.6.1" +"@docusaurus/core@npm:3.6.3, @docusaurus/core@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/core@npm:3.6.3" dependencies: - "@docusaurus/babel": "npm:3.6.1" - "@docusaurus/bundler": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/mdx-loader": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/babel": "npm:3.6.3" + "@docusaurus/bundler": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/mdx-loader": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" boxen: "npm:^6.2.1" chalk: "npm:^4.1.2" chokidar: "npm:^3.5.3" @@ -1880,39 +2512,39 @@ __metadata: react-dom: ^18.0.0 bin: docusaurus: bin/docusaurus.mjs - checksum: 10c0/e23c6e84b499737f32a3ca8f97c0b91947eff9da410d925eafbf79f3c426cd1ad54fb24970883e2e04c95290a0685ed33db7df296ea1ca8fe8bb92897f247b9a + checksum: 10c0/551e7af994bb41ccbe9866bb380def55ed03316b4de5ae2b5ad98721f3cc0a209ed86becb70dac80c360c36767b4d1375115de190ac1c11b28e813ee8c38ebd6 languageName: node linkType: hard -"@docusaurus/cssnano-preset@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/cssnano-preset@npm:3.6.1" +"@docusaurus/cssnano-preset@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/cssnano-preset@npm:3.6.3" dependencies: cssnano-preset-advanced: "npm:^6.1.2" postcss: "npm:^8.4.38" postcss-sort-media-queries: "npm:^5.2.0" tslib: "npm:^2.6.0" - checksum: 10c0/e6aa2f8d08f0e1b8b4db80a52ffbcccb5fa7940ec85be4dd072bcc15d7730ea2343a2df6ecfa3df0a2ad7f2354f811b67306871281f78930a7927d5ad2184dcd + checksum: 10c0/0289e37587d05dd3fd197d1014c083192e391f28e33baf465941e54086f182bf65938e56f8e346cec6c4323fbb359139564b48ee236f3b45ae6f28f44d1e79c1 languageName: node linkType: hard -"@docusaurus/logger@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/logger@npm:3.6.1" +"@docusaurus/logger@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/logger@npm:3.6.3" dependencies: chalk: "npm:^4.1.2" tslib: "npm:^2.6.0" - checksum: 10c0/536dd850331465891994a12926ef0b9387b28f8b007180d4fc9d7ddb6f306dad2e5157e9dda8138613842357db1227dd0ba41c2d1da5e8e8d29166347b9d8899 + checksum: 10c0/3119c8c586d6c5dba5595d8b795903c808ffa5011cb0e945b32cb011457f18f79909aca2f9864a5122ccfe32ecba9fd9c7fa1477d534febbcc5d3855a0daab91 languageName: node linkType: hard -"@docusaurus/mdx-loader@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/mdx-loader@npm:3.6.1" +"@docusaurus/mdx-loader@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/mdx-loader@npm:3.6.3" dependencies: - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" "@mdx-js/mdx": "npm:^3.0.0" "@slorber/remark-comment": "npm:^1.0.0" escape-html: "npm:^1.0.3" @@ -1937,15 +2569,15 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/569c90a643507fe6032fc08e88a1dcfba3207239de3bb0e3e4d24d5efe86099353e2471ead3241d1ba23f22afeb6d4c054091158e7bc600a27e0945b87a865d7 + checksum: 10c0/c8d358c665176bb185284c38d7465fcefce4f0da4ac7cc83f25b5258c4489cdaa2916b183d83f47e0af33158a22cd06af1ffd383f8aac04549393f4c544c56bc languageName: node linkType: hard -"@docusaurus/module-type-aliases@npm:3.6.1, @docusaurus/module-type-aliases@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/module-type-aliases@npm:3.6.1" +"@docusaurus/module-type-aliases@npm:3.6.3, @docusaurus/module-type-aliases@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/module-type-aliases@npm:3.6.3" dependencies: - "@docusaurus/types": "npm:3.6.1" + "@docusaurus/types": "npm:3.6.3" "@types/history": "npm:^4.7.11" "@types/react": "npm:*" "@types/react-router-config": "npm:*" @@ -1955,19 +2587,19 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/006a5414234bb26300e9240de519ba5bf53198869df953f090d9a28ccee99850e1a7384dffccb865ccd513bf1d090a8ab5887fa7583b921df1279b99613aa0b7 + checksum: 10c0/e142ba7af9059611751159b844bb0ba37c70e29f15b122d1c7ca869a5200a0d3b62fa84dc71a7da04f6d27efffc19c45181d9e6ad46506aaacfe463ffac9e62d languageName: node linkType: hard -"@docusaurus/plugin-client-redirects@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-client-redirects@npm:3.6.1" +"@docusaurus/plugin-client-redirects@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-client-redirects@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" eta: "npm:^2.2.0" fs-extra: "npm:^11.1.1" lodash: "npm:^4.17.21" @@ -1975,22 +2607,22 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/274f5e13806c766e90e7fa001c166d6063318cc5e166f77804b27afd2beb75405166bf0d37322b3adb1ffe3c3090a81b3ac4e07d4e8bca9559906eaff13dec35 + checksum: 10c0/3bc4a215471c9bd4d080fc5f9294ae67fdcfed2c97d181ed6b8d6b39fc44f0b29b9349a026b14feb94a5cd8cb172e23f4109c61e285d10ed2aed4c2f5a44bd3c languageName: node linkType: hard -"@docusaurus/plugin-content-blog@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-content-blog@npm:3.6.1" +"@docusaurus/plugin-content-blog@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-content-blog@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/mdx-loader": "npm:3.6.1" - "@docusaurus/theme-common": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/mdx-loader": "npm:3.6.3" + "@docusaurus/theme-common": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" cheerio: "npm:1.0.0-rc.12" feed: "npm:^4.2.2" fs-extra: "npm:^11.1.1" @@ -2005,23 +2637,23 @@ __metadata: "@docusaurus/plugin-content-docs": "*" react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/baf9b30cba055367ee91f9cb2db918ab311a17614f51b4aaf7bde67764d0ec61cdd7fb39b0720f87cf781dcf67fcbf79ad19c7db120fbdcad9fe2d0b9d2e961d + checksum: 10c0/6f8b229c66fd7c155e120732a3a2cca614c610f1458a016f15b6a30f100f1b1679f41b0defcc6a7d95fb55b9ba798722101b54171965c0068a843b4d8de3ff8f languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-content-docs@npm:3.6.1" +"@docusaurus/plugin-content-docs@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-content-docs@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/mdx-loader": "npm:3.6.1" - "@docusaurus/module-type-aliases": "npm:3.6.1" - "@docusaurus/theme-common": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/mdx-loader": "npm:3.6.3" + "@docusaurus/module-type-aliases": "npm:3.6.3" + "@docusaurus/theme-common": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" "@types/react-router-config": "npm:^5.0.7" combine-promises: "npm:^1.1.0" fs-extra: "npm:^11.1.1" @@ -2033,153 +2665,153 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/f072637f2af821df47912057b7de2dbbd85abe0a4ed2ae16a226ab60641851203700250b2b2a1b6559d844ea790e34143709a3ca1c53a88769740dd636466881 + checksum: 10c0/53c1e35e2d4b03b1f1d7990c1eccd0dfbccb244ed5250370add44349e0976fade1b9afca9d2b45c4013bbab5624bb432aa5c6e0e913fdb69df814ccb51212887 languageName: node linkType: hard -"@docusaurus/plugin-content-pages@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-content-pages@npm:3.6.1" +"@docusaurus/plugin-content-pages@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-content-pages@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/mdx-loader": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/mdx-loader": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" webpack: "npm:^5.88.1" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/439d696158b4aa549739e28915604dff64623eb445e77f633b33fb644d995a875d93fd93505ec534b88c97c94eda45256b9112c0f438d95118c0a0a3359deafd + checksum: 10c0/f40dba85fb122c5f2a60ba634176c5817c1766751ff887c4f8056f4ccb32c332e1e92d77baf73c2c8178b77bae764f018ec7b3889927f2c4bbdb0ab442078a8c languageName: node linkType: hard -"@docusaurus/plugin-debug@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-debug@npm:3.6.1" +"@docusaurus/plugin-debug@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-debug@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" fs-extra: "npm:^11.1.1" react-json-view-lite: "npm:^1.2.0" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/447daab549cd76fcdd5b1a8a113748b0e7f18bc5d30c03ee8d401a02c5d44145c02d47833b3c16174426db956a102d11f57b2dd37c1d9c5c46bf51c083b11237 + checksum: 10c0/1f3f4b9d52aa24ee144476959290c17db04b891f0f39b8dece703167df555f7a5577fc93e6c851122361d25f8654f1dd975e41848333848e5eabb788dedd83a5 languageName: node linkType: hard -"@docusaurus/plugin-google-analytics@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-google-analytics@npm:3.6.1" +"@docusaurus/plugin-google-analytics@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-google-analytics@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/ab84513ceab61cb281959cae090ff8e8c88951908f55b6cba4dfbc7d9a73ae99b35b7f17f202f65200d36b65bb602447f7aec4b6ce5b01183e9c8388ae817d44 + checksum: 10c0/762dc9e93cb8728cc71be927521c1a24b10d48100145a7f4e83d912513b2048389bd4604aff72520d56ef6899dc44852067ad153b85d7bf5a7cb391f40b3289c languageName: node linkType: hard -"@docusaurus/plugin-google-gtag@npm:3.6.1, @docusaurus/plugin-google-gtag@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-google-gtag@npm:3.6.1" +"@docusaurus/plugin-google-gtag@npm:3.6.3, @docusaurus/plugin-google-gtag@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-google-gtag@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" "@types/gtag.js": "npm:^0.0.12" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/c3328c6ab28410c89d825722039ab843c1a8b9d2523be03aef2cc5238ce203d8b1082eb4f25206219181f8f46ca64129f8dd27775154692a69180dda44454f8b + checksum: 10c0/671b0d9be8603b6baa63701b28d9f14080f057a0d69c61eef8ad954844ba8f832c9a83f8f14eeeb3dd84baa4861ccc8b50f5b62afe51ba70474ab15cdd77af94 languageName: node linkType: hard -"@docusaurus/plugin-google-tag-manager@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-google-tag-manager@npm:3.6.1" +"@docusaurus/plugin-google-tag-manager@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-google-tag-manager@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/7e011681c83a64abed7b243a8a16c98bbfde59da5c2e62c4ee878405344eb89c126fb6949371a3542aca3cb6df5824e5ce39cedd9de8cfc9f23c3b46b632832d + checksum: 10c0/e3f9f3564d7092f0d2a443a66e1822cde7ef437b4385e41c1ad2fb048f8cba9c97bee462c57a1ed93b5f86ce596e065f114375559979ce586b6403aa139a92cf languageName: node linkType: hard -"@docusaurus/plugin-sitemap@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/plugin-sitemap@npm:3.6.1" +"@docusaurus/plugin-sitemap@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/plugin-sitemap@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" fs-extra: "npm:^11.1.1" sitemap: "npm:^7.1.1" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/a11bac07a8aef01b696a879a2de64bccb80ca32c44809a2e58419a5d7d007d6c20cdbd7302e651d70b845a03175c9bd34d2620a50f0c5a7bab2e3e060abdf805 + checksum: 10c0/52d39a8b9f6db21343f363703b15b1257c60479d0fa9846db39e953fa88143e8e3a5bbeed5be94fcccc7bc87736fe7842f19f71021f819933177aa3a44da7916 languageName: node linkType: hard -"@docusaurus/preset-classic@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/preset-classic@npm:3.6.1" +"@docusaurus/preset-classic@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/preset-classic@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/plugin-content-blog": "npm:3.6.1" - "@docusaurus/plugin-content-docs": "npm:3.6.1" - "@docusaurus/plugin-content-pages": "npm:3.6.1" - "@docusaurus/plugin-debug": "npm:3.6.1" - "@docusaurus/plugin-google-analytics": "npm:3.6.1" - "@docusaurus/plugin-google-gtag": "npm:3.6.1" - "@docusaurus/plugin-google-tag-manager": "npm:3.6.1" - "@docusaurus/plugin-sitemap": "npm:3.6.1" - "@docusaurus/theme-classic": "npm:3.6.1" - "@docusaurus/theme-common": "npm:3.6.1" - "@docusaurus/theme-search-algolia": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/plugin-content-blog": "npm:3.6.3" + "@docusaurus/plugin-content-docs": "npm:3.6.3" + "@docusaurus/plugin-content-pages": "npm:3.6.3" + "@docusaurus/plugin-debug": "npm:3.6.3" + "@docusaurus/plugin-google-analytics": "npm:3.6.3" + "@docusaurus/plugin-google-gtag": "npm:3.6.3" + "@docusaurus/plugin-google-tag-manager": "npm:3.6.3" + "@docusaurus/plugin-sitemap": "npm:3.6.3" + "@docusaurus/theme-classic": "npm:3.6.3" + "@docusaurus/theme-common": "npm:3.6.3" + "@docusaurus/theme-search-algolia": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/abac722eb29816561f1c27e19a42bb90f0d2cde2a24c877c8d5d6c9dd1f28a11746027ad61b15b108cc1731a89f7d6fd9ebe8967a3639a3dd0bd0fe7f0e08740 - languageName: node - linkType: hard - -"@docusaurus/theme-classic@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/theme-classic@npm:3.6.1" - dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/mdx-loader": "npm:3.6.1" - "@docusaurus/module-type-aliases": "npm:3.6.1" - "@docusaurus/plugin-content-blog": "npm:3.6.1" - "@docusaurus/plugin-content-docs": "npm:3.6.1" - "@docusaurus/plugin-content-pages": "npm:3.6.1" - "@docusaurus/theme-common": "npm:3.6.1" - "@docusaurus/theme-translations": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + checksum: 10c0/bb94646f5e5d552787d2b2f2104071ef6ae178593445c08d8669e9150792706065e51df94d13e3907ee08d742d72bdffb48233f758b7864c0e0fbd238e22799b + languageName: node + linkType: hard + +"@docusaurus/theme-classic@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/theme-classic@npm:3.6.3" + dependencies: + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/mdx-loader": "npm:3.6.3" + "@docusaurus/module-type-aliases": "npm:3.6.3" + "@docusaurus/plugin-content-blog": "npm:3.6.3" + "@docusaurus/plugin-content-docs": "npm:3.6.3" + "@docusaurus/plugin-content-pages": "npm:3.6.3" + "@docusaurus/theme-common": "npm:3.6.3" + "@docusaurus/theme-translations": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" "@mdx-js/react": "npm:^3.0.0" clsx: "npm:^2.0.0" copy-text-to-clipboard: "npm:^3.2.0" @@ -2196,18 +2828,18 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/4836ebf9db4b6044af0e20435a5778bc001868a20c9a54fd2b194559755c454d03552e3c46edba1329d7cd7d89ea6a5c13ded19206531899974b8ee193551dd6 + checksum: 10c0/cfc891ecb967ca39d2726df426bcb5ed1033153f276dc63e1d7f8b2a3587c6ed035630de92817464de8ad9392217d56698c4584559475fd19df0a3199cf42153 languageName: node linkType: hard -"@docusaurus/theme-common@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/theme-common@npm:3.6.1" +"@docusaurus/theme-common@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/theme-common@npm:3.6.3" dependencies: - "@docusaurus/mdx-loader": "npm:3.6.1" - "@docusaurus/module-type-aliases": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" + "@docusaurus/mdx-loader": "npm:3.6.3" + "@docusaurus/module-type-aliases": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" "@types/history": "npm:^4.7.11" "@types/react": "npm:*" "@types/react-router-config": "npm:*" @@ -2220,40 +2852,40 @@ __metadata: "@docusaurus/plugin-content-docs": "*" react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/4f3739fe3af5292b389b811f617a4da7f3617d940f9e09349bfaf5ce823941e732651fe45a8f9d9f3c6cb444cd788b4e1952d18f56c78531299635df840974ce + checksum: 10c0/fdbab9ba549a10924f21cdfc53ebea43a514fef260981145e5b922a250959a042e29eaf3afeb633c703236902325bcd302b87ff92c587985c65eba5a3d111ddb languageName: node linkType: hard -"@docusaurus/theme-mermaid@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/theme-mermaid@npm:3.6.1" +"@docusaurus/theme-mermaid@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/theme-mermaid@npm:3.6.3" dependencies: - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/module-type-aliases": "npm:3.6.1" - "@docusaurus/theme-common": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/module-type-aliases": "npm:3.6.3" + "@docusaurus/theme-common": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" mermaid: "npm:>=10.4" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/cc4d1cb2271957d765e252580454cc2ea1e35dd7034d80c68098f0d9c51ada6e7a76f15f8be9a3c7c4de48c62bec5fb5bffd0e84812ce39065ed95c30ea63661 + checksum: 10c0/de5f068852e2231efe081aceb9f4830beeb559bde3c765e6c47db1c4a1907eb1dd557c4a0275b5babe97a5f61a8ba14b68ffb64b715b2e3ee282771ea2d7f760 languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/theme-search-algolia@npm:3.6.1" +"@docusaurus/theme-search-algolia@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/theme-search-algolia@npm:3.6.3" dependencies: "@docsearch/react": "npm:^3.5.2" - "@docusaurus/core": "npm:3.6.1" - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/plugin-content-docs": "npm:3.6.1" - "@docusaurus/theme-common": "npm:3.6.1" - "@docusaurus/theme-translations": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-validation": "npm:3.6.1" + "@docusaurus/core": "npm:3.6.3" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/plugin-content-docs": "npm:3.6.3" + "@docusaurus/theme-common": "npm:3.6.3" + "@docusaurus/theme-translations": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-validation": "npm:3.6.3" algoliasearch: "npm:^4.18.0" algoliasearch-helper: "npm:^3.13.3" clsx: "npm:^2.0.0" @@ -2265,30 +2897,30 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/5295f416ce10a68e0f71e4ecfad5f4f6071a3d1d799220654fb8981ac66322a5c1f5c9bb7871d62b6bc6b73d7656d4cbd2b165cb51f1a7cb6ca65136ac1a57ba + checksum: 10c0/e26dccca3d215f19930279254a619f9c02d30aac192a9cfa99e25f750f9100f811e3b81db9d149bac10a5c467dafb92d8d15a28f865a8dd910c12335e2bad397 languageName: node linkType: hard -"@docusaurus/theme-translations@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/theme-translations@npm:3.6.1" +"@docusaurus/theme-translations@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/theme-translations@npm:3.6.3" dependencies: fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" - checksum: 10c0/ed8b2665a0fb62b8d338aeae177d4661294e4c6e9ba3d19d78dbea8f40a374658838d8be9d6f7271205265ddeea20399db6427f9d20db226dc3d5bb58b736b8a + checksum: 10c0/90cf563d747b3b82eb549f4ab319e7f3a929baaeb3898531e5155847eeb5f4b09518a0e9b9a2bfdc25df770ca4afd73b4f029fcb14b6d5e3cb39b25f4b944959 languageName: node linkType: hard -"@docusaurus/tsconfig@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/tsconfig@npm:3.6.1" - checksum: 10c0/4f8f283c4e7896b327f3ffcf032f8ef1cfde43c28ab6d4c2ff107f4057e59d90486927429e948a274004d12f742165b88fc80fdc6352a9cf25e48cbca51d7f0f +"@docusaurus/tsconfig@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/tsconfig@npm:3.6.3" + checksum: 10c0/0ff7af6e0fe267d22c2e1c439d887aef1668b626731b07b4053c6fb5377f0faeec74d69f30d139522f6de74ba73d4462242400564024faa7ab0076c3af83d5d9 languageName: node linkType: hard -"@docusaurus/types@npm:3.6.1, @docusaurus/types@npm:^3.6.1": - version: 3.6.1 - resolution: "@docusaurus/types@npm:3.6.1" +"@docusaurus/types@npm:3.6.3, @docusaurus/types@npm:^3.6.3": + version: 3.6.3 + resolution: "@docusaurus/types@npm:3.6.3" dependencies: "@mdx-js/mdx": "npm:^3.0.0" "@types/history": "npm:^4.7.11" @@ -2302,43 +2934,43 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/d73e118e0fbcbb15fcb908dddaf81c977c5ded53dacce181f7736a234b1b0b930b9dae8847e7951245754b3c5f5b9c0d8002f020a56ad8ba32587f8723209776 + checksum: 10c0/fb4fca87c7e25482ee08d0e70da28cd795cd29a54bae3e95868e7e670a37154e4751712663674d03ff0a060c8b84787f296f397eb36027caf91c1633ac22789d languageName: node linkType: hard -"@docusaurus/utils-common@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/utils-common@npm:3.6.1" +"@docusaurus/utils-common@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/utils-common@npm:3.6.3" dependencies: - "@docusaurus/types": "npm:3.6.1" + "@docusaurus/types": "npm:3.6.3" tslib: "npm:^2.6.0" - checksum: 10c0/3a548139b5be365e380df2b90ae3763372f81f78e72ec078f15753477d2cc31218360dcdac0137f435203dff1292b26bfee5f72f867c4f6bc2064a8e07c06ef8 + checksum: 10c0/cf484b62541412a5706cbf8f8e7cc2f9bc1f0b4db33657b74fe2f02d1a3b4ba0349e99022d4aec6e1fecf76651316fce5a210172153b67a9ab16847c6ec00e6e languageName: node linkType: hard -"@docusaurus/utils-validation@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/utils-validation@npm:3.6.1" +"@docusaurus/utils-validation@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/utils-validation@npm:3.6.3" dependencies: - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/utils": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/utils": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" fs-extra: "npm:^11.2.0" joi: "npm:^17.9.2" js-yaml: "npm:^4.1.0" lodash: "npm:^4.17.21" tslib: "npm:^2.6.0" - checksum: 10c0/fd8852c4c1ce0fe5765f8c00ceaee683dacc07a8a54e9ac63a75902f2673c5b595798ef5c530f7a3bc22ae3b5619b553077f82c81c825fd035b46f4c2298a3d3 + checksum: 10c0/8cfc1d223e71612180d09ad3027ea10c4447fc70ed4bf680b66f72f1bce7c74556a6029073fa6a6bc64ddbc03a9a1c9d708607e62ef0b86a033f35ab6a63ddf9 languageName: node linkType: hard -"@docusaurus/utils@npm:3.6.1": - version: 3.6.1 - resolution: "@docusaurus/utils@npm:3.6.1" +"@docusaurus/utils@npm:3.6.3": + version: 3.6.3 + resolution: "@docusaurus/utils@npm:3.6.3" dependencies: - "@docusaurus/logger": "npm:3.6.1" - "@docusaurus/types": "npm:3.6.1" - "@docusaurus/utils-common": "npm:3.6.1" + "@docusaurus/logger": "npm:3.6.3" + "@docusaurus/types": "npm:3.6.3" + "@docusaurus/utils-common": "npm:3.6.3" "@svgr/webpack": "npm:^8.1.0" escape-string-regexp: "npm:^4.0.0" file-loader: "npm:^6.2.0" @@ -2357,7 +2989,7 @@ __metadata: url-loader: "npm:^4.1.1" utility-types: "npm:^3.10.0" webpack: "npm:^5.88.1" - checksum: 10c0/a97131caa6622df9d86378394d334f0751ea330361ed88b286a1accb3e5106030839d353eab9ab2ee88a615da1730da851c34783587b994480fc9f514413fc4a + checksum: 10c0/e665e067be8a440a93bec66e79f94735f8cfb21940df8f57c89f923d2a5c08fb29b35e0309370baec644281b0764034fe75642a976d1ae04392fe21b905df8bf languageName: node linkType: hard @@ -5661,20 +6293,20 @@ __metadata: resolution: "aiven-docs@workspace:." dependencies: "@aivenio/aquarium": "npm:^1.73.0" - "@algolia/client-search": "npm:^5.13.0" - "@docusaurus/core": "npm:^3.6.1" - "@docusaurus/module-type-aliases": "npm:^3.6.1" - "@docusaurus/plugin-client-redirects": "npm:^3.6.1" - "@docusaurus/plugin-google-gtag": "npm:^3.6.1" - "@docusaurus/preset-classic": "npm:^3.6.1" - "@docusaurus/theme-mermaid": "npm:^3.6.1" - "@docusaurus/tsconfig": "npm:^3.6.1" - "@docusaurus/types": "npm:^3.6.1" + "@algolia/client-search": "npm:^5.15.0" + "@docusaurus/core": "npm:^3.6.3" + "@docusaurus/module-type-aliases": "npm:^3.6.3" + "@docusaurus/plugin-client-redirects": "npm:^3.6.3" + "@docusaurus/plugin-google-gtag": "npm:^3.6.3" + "@docusaurus/preset-classic": "npm:^3.6.3" + "@docusaurus/theme-mermaid": "npm:^3.6.3" + "@docusaurus/tsconfig": "npm:^3.6.3" + "@docusaurus/types": "npm:^3.6.3" "@iconify/react": "npm:^4.1.1" "@mdx-js/react": "npm:^3.0.0" "@types/lodash": "npm:^4" "@types/react": "npm:^18.2.48" - algoliasearch: "npm:^5.13.0" + algoliasearch: "npm:^5.15.0" axios: "npm:^1.7.4" cheerio: "npm:1.0.0-rc.12" clsx: "npm:^1.2.1" @@ -5788,7 +6420,7 @@ __metadata: languageName: node linkType: hard -"algoliasearch@npm:^5.12.0, algoliasearch@npm:^5.13.0": +"algoliasearch@npm:^5.12.0": version: 5.13.0 resolution: "algoliasearch@npm:5.13.0" dependencies: @@ -5809,6 +6441,27 @@ __metadata: languageName: node linkType: hard +"algoliasearch@npm:^5.15.0": + version: 5.15.0 + resolution: "algoliasearch@npm:5.15.0" + dependencies: + "@algolia/client-abtesting": "npm:5.15.0" + "@algolia/client-analytics": "npm:5.15.0" + "@algolia/client-common": "npm:5.15.0" + "@algolia/client-insights": "npm:5.15.0" + "@algolia/client-personalization": "npm:5.15.0" + "@algolia/client-query-suggestions": "npm:5.15.0" + "@algolia/client-search": "npm:5.15.0" + "@algolia/ingestion": "npm:1.15.0" + "@algolia/monitoring": "npm:1.15.0" + "@algolia/recommend": "npm:5.15.0" + "@algolia/requester-browser-xhr": "npm:5.15.0" + "@algolia/requester-fetch": "npm:5.15.0" + "@algolia/requester-node-http": "npm:5.15.0" + checksum: 10c0/fd226182aa20fff59182e61c4c5b02fe441bd8934d11f00e3beaf43b35b48001cbdd21c486429b6ef522fc1daff27c025df5a3af58be357b762649489988f3ec + languageName: node + linkType: hard + "ansi-align@npm:^3.0.1": version: 3.0.1 resolution: "ansi-align@npm:3.0.1" @@ -5936,7 +6589,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.14, autoprefixer@npm:^10.4.19": +"autoprefixer@npm:^10.4.19": version: 10.4.20 resolution: "autoprefixer@npm:10.4.20" dependencies: @@ -6155,7 +6808,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.23.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": +"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": version: 4.24.2 resolution: "browserslist@npm:4.24.2" dependencies: @@ -6879,6 +7532,17 @@ __metadata: languageName: node linkType: hard +"css-blank-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-blank-pseudo@npm:7.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618 + languageName: node + linkType: hard + "css-declaration-sorter@npm:^7.2.0": version: 7.2.0 resolution: "css-declaration-sorter@npm:7.2.0" @@ -6888,6 +7552,19 @@ __metadata: languageName: node linkType: hard +"css-has-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-has-pseudo@npm:7.0.1" + dependencies: + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/13789b08b70169204be786d652190356ace9313099d3656bd2fc38afbdd28f3d9620f0e0b07425480961b7a1ec789794961d0472f205b959d3f64c9a78ce511c + languageName: node + linkType: hard + "css-loader@npm:^6.8.1": version: 6.11.0 resolution: "css-loader@npm:6.11.0" @@ -6941,6 +7618,15 @@ __metadata: languageName: node linkType: hard +"css-prefers-color-scheme@npm:^10.0.0": + version: 10.0.0 + resolution: "css-prefers-color-scheme@npm:10.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/a66c727bb2455328b18862f720819fc98ff5c1486b69f758bdb5c66f46cc6d484f9fc0bfa4f00f2693c5da6707ad136ca789496982f713ade693f08af624930e + languageName: node + linkType: hard + "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -6994,6 +7680,13 @@ __metadata: languageName: node linkType: hard +"cssdb@npm:^8.2.1": + version: 8.2.2 + resolution: "cssdb@npm:8.2.2" + checksum: 10c0/fa313d7cbea307fc2ddc71b2d0257162377e6b463f5c77eb28941426e0541fc7b650222e2fe97c88e0db932ff3c42f4af0ae4b75955d2077a3aebafad08ed501 + languageName: node + linkType: hard + "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -12185,6 +12878,17 @@ __metadata: languageName: node linkType: hard +"postcss-attribute-case-insensitive@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-attribute-case-insensitive@npm:7.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34 + languageName: node + linkType: hard + "postcss-calc@npm:^9.0.1": version: 9.0.1 resolution: "postcss-calc@npm:9.0.1" @@ -12197,6 +12901,56 @@ __metadata: languageName: node linkType: hard +"postcss-clamp@npm:^4.1.0": + version: 4.1.0 + resolution: "postcss-clamp@npm:4.1.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4.6 + checksum: 10c0/701261026b38a4c27b3c3711635fac96005f36d3270adb76dbdb1eebc950fc841db45283ee66068a7121565592e9d7967d5534e15b6e4dd266afcabf9eafa905 + languageName: node + linkType: hard + +"postcss-color-functional-notation@npm:^7.0.6": + version: 7.0.6 + resolution: "postcss-color-functional-notation@npm:7.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/15f6dfc9a24d6f5186fb054623a92bcf9e804f4eaa35b339551a8048cdb0c7bd2e4655fdbb09a0c9a89f854e9fb1d71e298e8749597660ac034e79bd0d38d7dd + languageName: node + linkType: hard + +"postcss-color-hex-alpha@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-color-hex-alpha@npm:10.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8a6dcb27403d04b55d6de88bf3074622bcea537fc4436bbcb346e92289c4d17059444e2e6c3554c325e7a777bb4cdc711e764a83123b4000aec211052e957d5b + languageName: node + linkType: hard + +"postcss-color-rebeccapurple@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-color-rebeccapurple@npm:10.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/308e33f76f2b48c1c2121d4502fc053e869f3415898de7d30314353df680e79b37497e7b628e3447edc1049091da3672f7d891e45604f238598e846e06b893ed + languageName: node + linkType: hard + "postcss-colormin@npm:^6.1.0": version: 6.1.0 resolution: "postcss-colormin@npm:6.1.0" @@ -12223,6 +12977,60 @@ __metadata: languageName: node linkType: hard +"postcss-custom-media@npm:^11.0.5": + version: 11.0.5 + resolution: "postcss-custom-media@npm:11.0.5" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^14.0.4": + version: 14.0.4 + resolution: "postcss-custom-properties@npm:14.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf + languageName: node + linkType: hard + +"postcss-custom-selectors@npm:^8.0.4": + version: 8.0.4 + resolution: "postcss-custom-selectors@npm:8.0.4" + dependencies: + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863 + languageName: node + linkType: hard + +"postcss-dir-pseudo-class@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-dir-pseudo-class@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690 + languageName: node + linkType: hard + "postcss-discard-comments@npm:^6.0.2": version: 6.0.2 resolution: "postcss-discard-comments@npm:6.0.2" @@ -12270,6 +13078,86 @@ __metadata: languageName: node linkType: hard +"postcss-double-position-gradients@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-double-position-gradients@npm:6.0.0" + dependencies: + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/7a0e119df1b4af59d169b1a9dfc563275ce29b4ae5e6a6c90be29a7a59272ebc55bf3b2ed05a962f73b03194f7a88f6fe738e65c1659d43351fbdc705cc951ad + languageName: node + linkType: hard + +"postcss-focus-visible@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-focus-visible@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665 + languageName: node + linkType: hard + +"postcss-focus-within@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-focus-within@npm:9.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a + languageName: node + linkType: hard + +"postcss-font-variant@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-font-variant@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/ccc96460cf6a52b5439c26c9a5ea0589882e46161e3c2331d4353de7574448f5feef667d1a68f7f39b9fe3ee75d85957383ae82bbfcf87c3162c7345df4a444e + languageName: node + linkType: hard + +"postcss-gap-properties@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-gap-properties@npm:6.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/4e07e0d3927d0e65d67eaf047ac39e08d39cb1bf74e16e10c7df7f0d01b184a77ea59f63fd5691b5ed6df159970b972db28cb784d883e26e981137696460897d + languageName: node + linkType: hard + +"postcss-image-set-function@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-image-set-function@npm:7.0.0" + dependencies: + "@csstools/utilities": "npm:^2.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/913fd9492f00122aa0c2550fb0d72130428cbe1e6465bc65e8fe71e9deb10ac0c01d7caceb68b560da759139e8cbc6c90ed22dfe6cf34949af49bb86bcbf4d3a + languageName: node + linkType: hard + +"postcss-lab-function@npm:^7.0.6": + version: 7.0.6 + resolution: "postcss-lab-function@npm:7.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/utilities": "npm:^2.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/8b8d498dbc939ee79737b29232b39d09cbda26cc92e8926fb74fe56a1bb05af1198e85a67a822f39cc69109ac6757a6ff7b20842ba5ffafce891abc9bc1c3c68 + languageName: node + linkType: hard + "postcss-loader@npm:^7.3.3": version: 7.3.4 resolution: "postcss-loader@npm:7.3.4" @@ -12284,6 +13172,17 @@ __metadata: languageName: node linkType: hard +"postcss-logical@npm:^8.0.0": + version: 8.0.0 + resolution: "postcss-logical@npm:8.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/2caa04e45227ab9dec728416ccde47514e1c347ee72aac58e13ecee3bc7fbc8b53e3fe4f1e2e4396432feb1d54e70a1f06ec5a74d60e84bafff05ab82f196475 + languageName: node + linkType: hard + "postcss-merge-idents@npm:^6.0.3": version: 6.0.3 resolution: "postcss-merge-idents@npm:6.0.3" @@ -12414,6 +13313,19 @@ __metadata: languageName: node linkType: hard +"postcss-nesting@npm:^13.0.1": + version: 13.0.1 + resolution: "postcss-nesting@npm:13.0.1" + dependencies: + "@csstools/selector-resolve-nested": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf + languageName: node + linkType: hard + "postcss-normalize-charset@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-charset@npm:6.0.2" @@ -12512,6 +13424,15 @@ __metadata: languageName: node linkType: hard +"postcss-opacity-percentage@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-opacity-percentage@npm:3.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/15c7d66036fa966d265c8737196646b3f93deb83d4eea0b17ed5033460599afc31d3a989345e4d7c472963b2a2bb75c83d06979d5d30d6a60fcc7f74cb6d8d40 + languageName: node + linkType: hard + "postcss-ordered-values@npm:^6.0.2": version: 6.0.2 resolution: "postcss-ordered-values@npm:6.0.2" @@ -12524,6 +13445,121 @@ __metadata: languageName: node linkType: hard +"postcss-overflow-shorthand@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-overflow-shorthand@npm:6.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/6598321b2ed0b68461135395bba9c7f76a4672617770df1e8487f459bc975f4ded6c3d37b6f72a44f4f77f7b6789e0c6f927e66dbbf1bcde1537167dbea39968 + languageName: node + linkType: hard + +"postcss-page-break@npm:^3.0.4": + version: 3.0.4 + resolution: "postcss-page-break@npm:3.0.4" + peerDependencies: + postcss: ^8 + checksum: 10c0/eaaf4d8922b35f2acd637eb059f7e2510b24d65eb8f31424799dd5a98447b6ef010b41880c26e78f818e00f842295638ec75f89d5d489067f53e3dd3db74a00f + languageName: node + linkType: hard + +"postcss-place@npm:^10.0.0": + version: 10.0.0 + resolution: "postcss-place@npm:10.0.0" + dependencies: + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/ebb13deaac7648ba6042622375a31f78fbcc5209b7d196e478debbdf94525963fe621c932f4737a5b6b3d487af3b5ed6d059ed6193fdcbff6d3d5b150886ccc1 + languageName: node + linkType: hard + +"postcss-preset-env@npm:^10.1.0": + version: 10.1.1 + resolution: "postcss-preset-env@npm:10.1.1" + dependencies: + "@csstools/postcss-cascade-layers": "npm:^5.0.1" + "@csstools/postcss-color-function": "npm:^4.0.6" + "@csstools/postcss-color-mix-function": "npm:^3.0.6" + "@csstools/postcss-content-alt-text": "npm:^2.0.4" + "@csstools/postcss-exponential-functions": "npm:^2.0.5" + "@csstools/postcss-font-format-keywords": "npm:^4.0.0" + "@csstools/postcss-gamut-mapping": "npm:^2.0.6" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.6" + "@csstools/postcss-hwb-function": "npm:^4.0.6" + "@csstools/postcss-ic-unit": "npm:^4.0.0" + "@csstools/postcss-initial": "npm:^2.0.0" + "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" + "@csstools/postcss-light-dark-function": "npm:^2.0.7" + "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" + "@csstools/postcss-logical-overflow": "npm:^2.0.0" + "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" + "@csstools/postcss-logical-resize": "npm:^3.0.0" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" + "@csstools/postcss-media-minmax": "npm:^2.0.5" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" + "@csstools/postcss-nested-calc": "npm:^4.0.0" + "@csstools/postcss-normalize-display-values": "npm:^4.0.0" + "@csstools/postcss-oklab-function": "npm:^4.0.6" + "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" + "@csstools/postcss-random-function": "npm:^1.0.1" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.6" + "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" + "@csstools/postcss-sign-functions": "npm:^1.1.0" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.5" + "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.5" + "@csstools/postcss-unset-value": "npm:^4.0.0" + autoprefixer: "npm:^10.4.19" + browserslist: "npm:^4.23.1" + css-blank-pseudo: "npm:^7.0.1" + css-has-pseudo: "npm:^7.0.1" + css-prefers-color-scheme: "npm:^10.0.0" + cssdb: "npm:^8.2.1" + postcss-attribute-case-insensitive: "npm:^7.0.1" + postcss-clamp: "npm:^4.1.0" + postcss-color-functional-notation: "npm:^7.0.6" + postcss-color-hex-alpha: "npm:^10.0.0" + postcss-color-rebeccapurple: "npm:^10.0.0" + postcss-custom-media: "npm:^11.0.5" + postcss-custom-properties: "npm:^14.0.4" + postcss-custom-selectors: "npm:^8.0.4" + postcss-dir-pseudo-class: "npm:^9.0.1" + postcss-double-position-gradients: "npm:^6.0.0" + postcss-focus-visible: "npm:^10.0.1" + postcss-focus-within: "npm:^9.0.1" + postcss-font-variant: "npm:^5.0.0" + postcss-gap-properties: "npm:^6.0.0" + postcss-image-set-function: "npm:^7.0.0" + postcss-lab-function: "npm:^7.0.6" + postcss-logical: "npm:^8.0.0" + postcss-nesting: "npm:^13.0.1" + postcss-opacity-percentage: "npm:^3.0.0" + postcss-overflow-shorthand: "npm:^6.0.0" + postcss-page-break: "npm:^3.0.4" + postcss-place: "npm:^10.0.0" + postcss-pseudo-class-any-link: "npm:^10.0.1" + postcss-replace-overflow-wrap: "npm:^4.0.0" + postcss-selector-not: "npm:^8.0.1" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/99931117735a66827c7318be023ddb614990457617ccbe7fd2fdc1f10345554652df180d4842768d68d57e14fc0be4d86d0b413c65e77e02db5511e57ed07c4f + languageName: node + linkType: hard + +"postcss-pseudo-class-any-link@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-pseudo-class-any-link@npm:10.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 + languageName: node + linkType: hard + "postcss-reduce-idents@npm:^6.0.3": version: 6.0.3 resolution: "postcss-reduce-idents@npm:6.0.3" @@ -12558,6 +13594,26 @@ __metadata: languageName: node linkType: hard +"postcss-replace-overflow-wrap@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-replace-overflow-wrap@npm:4.0.0" + peerDependencies: + postcss: ^8.0.3 + checksum: 10c0/451361b714528cd3632951256ef073769cde725a46cda642a6864f666fb144921fa55e614aec1bcf5946f37d6ffdcca3b932b76f3d997c07b076e8db152b128d + languageName: node + linkType: hard + +"postcss-selector-not@npm:^8.0.1": + version: 8.0.1 + resolution: "postcss-selector-not@npm:8.0.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6 + languageName: node + linkType: hard + "postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": version: 6.1.2 resolution: "postcss-selector-parser@npm:6.1.2" @@ -12568,6 +13624,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d + languageName: node + linkType: hard + "postcss-sort-media-queries@npm:^5.2.0": version: 5.2.0 resolution: "postcss-sort-media-queries@npm:5.2.0"