npm package: @scayle/unstorage-scayle-kv-driver
Description: Unstorage driver for integration with SCAYLE PaaS
Author: SCAYLE Commerce Engine
Latest version: 2.1.0

# @scayle/unstorage-scayle-kv-driver

<div align="center">
  <img src="https://cdn-prod.scayle.com/public/media/general/SCAYLE-Commerce-Engine-header.png" />
</div>

<div align="center">
  <h1>@scayle/unstorage-scayle-kv-driver</h1>
</div>

<div align="center">
  <h4><a href="https://www.scayle.com/">Website</a></h4>
</div>

<div align="center">

</div>
<br/>
<div align="center">
  <a href="https://www.npmjs.com/package/@scayle/unstorage-scayle-kv-driver"><img src="https://img.shields.io/npm/v/@scayle/unstorage-scayle-kv-driver/latest.svg?style=flat&colorB=007ec6" /></a>
  <a href="https://www.npmjs.com/package/@scayle/unstorage-scayle-kv-driver"><img src="https://img.shields.io/npm/dm/@scayle/unstorage-scayle-kv-driver.svg?style=flat&colorB=007ec6" /></a>
  <a href="https://www.npmjs.com/package/@scayle/unstorage-scayle-kv-driver"><img src="https://img.shields.io/badge/license-MIT-blue.svg" /></a>
  <a href="https://nuxt.com"><img src="https://img.shields.io/badge/Nuxt-18181B?logo=nuxt.js" /></a>
</div>

## Installation

```bash
# Using pnpm
pnpm add @scayle/unstorage-scayle-kv-driver

# Using yarn
yarn add @scayle/unstorage-scayle-kv-driver

# Using npm
npm install @scayle/unstorage-scayle-kv-driver
```

## Usage

This is a spacial driver designed to work with SCAYLE PaaS.

This driver automatically pulls the main configuration from environment variables. It uses:

- `SCAYLE_KV_HOST` is used to set the host location (defaults to `localhost`)
- `SCAYLE_KV_PORT` is used to set the host port (defaults to `6379`)
- `SCAYLE_KV_USER` is used as username for authenticating against the KV instance
- `SCAYLE_KV_PASSWORD` is used as password for authenticating against the KV instance
- `SCAYLE_KV_TLS` set to `true` will enable TLS
- `SCAYLE_KV_BASE` will be used as a global key prefix

```ts
import { createStorage } from 'unstorage'
import { scayleKvDriver } from '@scayle/unstorage-scayle-kv-driver'

const storage = createStorage({
  driver: scayleKvDriver({
    ttl: 3600,
    disableClusterMode: false,
  }),
})
```

As this driver is compatible with Redis, you can configure it to use a Redis instance during local development. The specific requirements for your local setup depend on how your Redis instance is running.

For example:

- If you're using a local Redis cluster on `localhost` with the default port `6379` and without password protection, no additional configuration is needed.
- If you're working with a single Redis instance, set `disableClusterMode` to `true`.

While not mandatory, setting the `SCAYLE_KV_BASE` environment variable is advisable. It helps in maintaining consistency across different environments by ensuring that keys are prefixed uniformly.

## License

Licensed under the [MIT License](https://opensource.org/license/mit/)

## What is SCAYLE?

[SCAYLE](https://scayle.com) is a full-featured e-commerce software solution that comes with flexible APIs.
Within SCAYLE, you can manage all aspects of your shop, such as products, stocks, customers, and transactions.

Learn more about [SCAYLE’s architecture](https://scayle.dev/en/core-documentation/welcome-to-scayle/getting-started) and commerce modules in the Docs.

## Other channels

- [LinkedIn](https://www.linkedin.com/company/scaylecommerce/)
- [Jobs](https://careers.smartrecruiters.com/ABOUTYOUGmbH/scayle)