From 9bca27c1f936188917c7bd13729804d136518876 Mon Sep 17 00:00:00 2001 From: Mark Phelps <209477+markphelps@users.noreply.github.com> Date: Fri, 20 Oct 2023 13:43:10 -0400 Subject: [PATCH] feat: libsql updates --- configuration/overview.mdx | 26 ++++++++++----------- configuration/storage.mdx | 47 +++++++++++++++++++++++--------------- 2 files changed, 42 insertions(+), 31 deletions(-) diff --git a/configuration/overview.mdx b/configuration/overview.mdx index 2434895..f91e4d9 100644 --- a/configuration/overview.mdx +++ b/configuration/overview.mdx @@ -142,19 +142,19 @@ These properties are as follows: ### Database -| Property | Description | Default | Since | -| ------------------------------ | ------------------------------------------------------------------------------------------- | ----------------------------------- | ---------------------- | -| db.url | URL to access Flipt database | file:/(OS Dependent)/flipt/flipt.db | v1.26.0 \*OS Dependent | -| db.protocol | Protocol (SQLite, MySQL, PostgreSQL, CockroachDB) for Flipt database (URL takes precedence) | | v0.18.0 | -| db.host | Host to access Flipt database (URL takes precedence) | | v0.18.0 | -| db.port | Port to access Flipt database (URL takes precedence) | | v0.18.0 | -| db.name | Name of Flipt database (URL takes precedence) | | v0.18.0 | -| db.user | User to access Flipt database (URL takes precedence) | | v0.18.0 | -| db.password | Password to access Flipt database (URL takes precedence) | | v0.18.0 | -| db.max_idle_conn | The maximum number of connections in the idle connection pool | 2 | v0.17.0 | -| db.max_open_conn | The maximum number of open connections to the database | unlimited | v0.17.0 | -| db.conn_max_lifetime | Sets the maximum amount of time in which a connection can be reused | unlimited | v0.17.0 | -| db.prepared_statements_enabled | Enable or disable prepared statements for database queries | true | v1.23.1 | +| Property | Description | Default | Since | +| ------------------------------ | ------------------------------------------------------------------- | ----------------------------------- | ---------------------- | +| db.url | URL to access Flipt database | file:/(OS Dependent)/flipt/flipt.db | v1.26.0 \*OS Dependent | +| db.protocol | Protocol for Flipt database (URL takes precedence) | | v0.18.0 | +| db.host | Host to access Flipt database (URL takes precedence) | | v0.18.0 | +| db.port | Port to access Flipt database (URL takes precedence) | | v0.18.0 | +| db.name | Name of Flipt database (URL takes precedence) | | v0.18.0 | +| db.user | User to access Flipt database (URL takes precedence) | | v0.18.0 | +| db.password | Password to access Flipt database (URL takes precedence) | | v0.18.0 | +| db.max_idle_conn | The maximum number of connections in the idle connection pool | 2 | v0.17.0 | +| db.max_open_conn | The maximum number of open connections to the database | unlimited | v0.17.0 | +| db.conn_max_lifetime | Sets the maximum amount of time in which a connection can be reused | unlimited | v0.17.0 | +| db.prepared_statements_enabled | Enable or disable prepared statements for database queries | true | v1.23.1 | ### Storage diff --git a/configuration/storage.mdx b/configuration/storage.mdx index 7ea55e2..d691c02 100644 --- a/configuration/storage.mdx +++ b/configuration/storage.mdx @@ -5,16 +5,16 @@ description: This document describes how to configure Flipt's storage backend me ## Databases -Flipt supports [SQLite](https://www.sqlite.org/index.html), [PostgreSQL](https://www.postgresql.org/), [CockroachDB](https://www.cockroachlabs.com/) and -[MySQL](https://dev.mysql.com/) databases. +Flipt supports [SQLite](https://www.sqlite.org/index.html), [PostgreSQL](https://www.postgresql.org/), [CockroachDB](https://www.cockroachlabs.com/) and [MySQL](https://dev.mysql.com/) databases. -SQLite is enabled by default for simplicity, however, you should use PostgreSQL, MySQL, or CockroachDB if you intend to run multiple copies of Flipt in a high -availability configuration. + + As of [v1.29.0](https://github.com/flipt-io/flipt/releases/tag/v1.29.0), Flipt + also supports [libSQL](https://github.com/tursodatabase/libsql) which is a + fork of SQLite that can be accessed over a network via + [sqld](https://github.com/tursodatabase/libsql/tree/main/libsql-server). + - - All databases except for SQLite must exist and be up and running before Flipt - will be able to connect to it. - +SQLite is enabled by default for simplicity, however, you should use PostgreSQL, MySQL, or CockroachDB if you intend to run multiple copies of Flipt in a high availability configuration. The database connection can be configured as follows: @@ -32,6 +32,26 @@ db: url: file:/var/opt/flipt/flipt.db ``` +### LibSQL + +See our [libSQL Example](https://github.com/flipt-io/flipt/blob/main/examples/database/libsql) for a working example of how to use libSQL with Flipt. + +#### Local + +```yaml +db: + # libsql: informs flipt to use libSQL + url: libsql://file:/var/opt/flipt/flipt.db +``` + +#### Remote + +````yaml +db: + # http(s): informs flipt to use libSQL over HTTP(s) via sqld + url: http://db-[your-github-name].turso.io +``` + ### PostgreSQL ```yaml @@ -91,11 +111,6 @@ when the migration container exits, having no effect on your Flipt instance! ## Filesystem - - This feature was added as an experiment in Flipt `v1.23.0` and officially - supported in Flipt `v1.25.0`. - - The following backend types are designed to support declarative management of feature flag state. In particular, they're designed to support GitOps practices with minimal external dependencies. @@ -213,11 +228,6 @@ See our [GitOps Guide](/guides/get-going-with-gitops) for an example of how to s ### Object - - This feature was added as an experiment in Flipt `v1.24.0` and officially - supported in Flipt `v1.25.0`. - - The object storage type supports using a hosted object storage service as the source of truth for Flipt state configuration. Currently, Flipt supports the [S3 API](https://aws.amazon.com/s3/) as a backend. This means the AWS S3 and open-source alternatives such as [Minio](https://github.com/minio/minio) can be leveraged as Flipt backends. @@ -435,3 +445,4 @@ cache: memory: eviction_interval: 2m # expired items will be evicted from the cache every 2 minutes ``` +````