Databases and Valkey

PostgreSQL, MariaDB, and ClickHouse

zenifra create project --name app-db --plan db-basic --payment-mode monthly --config @examples/postgresql-project.json
zenifra create project --name app-db --plan db-basic --payment-mode monthly --config @examples/mariadb-project.json
zenifra create project --name events --plan analytics-starter --payment-mode hourly --config @examples/clickhouse-project.json

The wizard and examples do not ask for a username, password, or database name.

Valkey

Check the plans first: zenifra plans --type database (Key‑Value), --type cache, and --type queue. The plan identifies the profile: db-* for Key‑Value, cache-* for Cache, and queue-* for Queues. Without version, the CLI uses the catalog's default version.

Key‑Value is persistent and uses storage:

{
  "type_project": "valkey",
  "profile": "key_value",
  "storage": {
    "persistent": true,
    "capacity": 5
  }
}
zenifra create project --name sessions --plan db-basic --payment-mode monthly --config @key-value.json

Cache is disposable and sends no storage:

{
  "type_project": "valkey",
  "profile": "cache"
}
zenifra create project --name product-cache --plan cache-basic --payment-mode monthly --config @cache.json

Queues use persistent storage for Streams and consumer groups:

{
  "type_project": "valkey",
  "profile": "queue",
  "storage": {
    "persistent": true,
    "capacity": 5
  }
}
zenifra create project --name email-workers --plan queue-basic --payment-mode hourly --config @queue.json

Do not provide an image, runtime, port, instance count, or IP rules. Valkey is publicly reachable over IPv4 and protected by TLS and authentication; see the Valkey overview, the Key‑Value Database, Cache, Queues, and the REST reference.

To operate the service (the same database command works for PostgreSQL, MariaDB, and ClickHouse):

zenifra projects --type key-value
zenifra database status --project <project-id>
zenifra database connection --project <project-id>
zenifra database credentials rotate --project <project-id> --wait
zenifra database credentials status --project <project-id> --operation <operation-id>

The connection you query is masked; the full credential appears only at creation or after a completed rotation. To save it to a private file without printing it:

zenifra database credentials rotate --project <project-id> --wait --connection-file /private/path/connection.txt

Last updated on

On this page