MariaDB

Introduction

This guide will show you how to use MariaDB to manage configurations via the Configu interface. Learn about the concept of stores.

Working with the store

CLI installation

Linux
MacOs
Windows
1curl https://cli.configu.com/install.sh | sh

CLI usage

Create the store URI as follows:

mariadb://[username]:[password]@[host][?database=]

CLI Upsert

configu upsert --set "example" --schema "example.cfgu.json" --store "mariadb:// username:password@host?database=example" --config "FOO=value" --config "BAR=bar"

CLI Export

configu export --set "example" --schema "example.cfgu.json" --store "mariadb:// username:password@host?database=example" --format "Dotenv"

CLI Delete

configu delete --set "example" --schema "example.cfgu.json" --store --store "mariadb:// username:password@host?database=example"

SDK installation

Install the node.js SDK

// * Using yarn
yarn add @configu/node
// * Using npm
npm install --save @configu/node

SDK usage

import { Cfgu, Set, UpsertCommand, EvalCommand, DeleteCommand, MariaStore} from "@configu/node";
import path from "path";

const store = new MariaStore({ username, password, database, host });

const schema = new Cfgu(path.resolve(__dirname, "./example.cfgu.json"));
const set = new Set("dev");

// * Example upsert command
await new UpsertCommand({ store, set, schema, configs: [{ key: "foo", value: "bar" }] }).run();

// * Example eval command
const configs = await new EvalCommand({ store, set, schema }).run();

// * Example delete command
await new DeleteCommand({ store, set, schema }).run();

References

To reference a value from this store, use the following reference format:

{{mariadb://<database>@[set/]<schema>[.key][?key=[key]]}}

Example:

{{mariadb://my-db@example-set/example-schema.foo}}

Limitations

  • The Configu CLI & SDK do not create the database if it does not exist. Make sure it is created before you use them.
  • The Configu CLI & SDK attempt to use the 'config' table. If you already have such an existing table then it will be overriden.