Change your application: migrate from Aiven to KiviDB

Only the address, the user, the password and the CA certificate change. Your client library stays the same.

Only the address, the user, the password and the CA certificate change. Your client library stays the same.

# Before: Aiven for Valkey
REDIS_URL=rediss://default:aiven-password@my-valkey-my-project.e.aivencloud.com:12691
# After: KiviDB Cloud
REDIS_URL=rediss://kividbapp:kividb-password@your-name.cloud.kividb.io:6380
# After: self-hosted KiviDB with TLS
REDIS_URL=rediss://default:kividb-password@kividb.internal:6380

KiviDB Cloud's certificate is issued by a private authority. Give your client the CA certificate from Configuration, and connect by hostname, not by IP address.

Node.js (ioredis)

import fs from "node:fs";
import Redis from "ioredis";

// Before: Aiven for Valkey
const before = new Redis(process.env.AIVEN_URI);

// After: KiviDB Cloud
const redis = new Redis({
  host: "your-name.cloud.kividb.io",
  port: 6380,
  username: "kividbapp",
  password: process.env.KIVIDB_PASSWORD,
  tls: { ca: fs.readFileSync("kividb-ca.pem") },
});

Python (redis-py)

import os, redis

# Before: Aiven for Valkey
before = redis.Redis.from_url(os.environ["AIVEN_URI"])

# After: KiviDB Cloud
r = redis.Redis(
    host="your-name.cloud.kividb.io",
    port=6380,
    username="kividbapp",
    password=os.environ["KIVIDB_PASSWORD"],
    ssl=True,
    ssl_ca_certs="kividb-ca.pem",
)

Go (go-redis)

caPEM, _ := os.ReadFile("kividb-ca.pem")
pool := x509.NewCertPool()
pool.AppendCertsFromPEM(caPEM)

rdb := redis.NewClient(&redis.Options{
    Addr:      "your-name.cloud.kividb.io:6380",
    Username:  "kividbapp",
    Password:  os.Getenv("KIVIDB_PASSWORD"),
    TLSConfig: &tls.Config{RootCAs: pool, ServerName: "your-name.cloud.kividb.io"},
})

If you used separate Aiven service users for separate applications, create the same users on KiviDB and give each application its own.