Description

Continue the work on kqlite (Lightweight remote SQLite with high availability and auto failover).
It's a solution for applications that require High Availability but don't need all the features of a complete RDBMS and can fit SQLite in their use case.
Also kqlite can be considered to be used as a lightweight storage backend for K8s (https://docs.k3s.io/datastore) and the Edge, and allowing to have only 2 Nodes for HA.
Kqlite was somehow inspired from dqlite and rqlite, although they are using Raft to create a replication cluster.

Goals

  • Upgrade the client connection to TLS/SSL.
  • Add configuration.
  • Add SFTP service (for the replication).
  • Add replication and roles (Primary/Secondary).
  • Create HA logic with VIP management.
  • Create a 'Kine' layer for rewriting PostgreSQL queries to SQLite compatible ones.

Resources

https://github.com/benbjohnson/postlite
https://github.com/pganalyze/pg_query
https://github.com/benbjohnson/litestream
https://github.com/benbjohnson/litestream-library-example/tree/main
https://pkg.go.dev/github.com/pkg/sftp

HA Network split check.

  • Check secondary ( monitoring the replication link).
  • Check network interface.
  • Check default gateway (if present).
  • Check neighbors (ARP).
  • Check Internet connectivity (if present).

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 24

Activity

  • 5 days ago: jmeza liked this project.
  • 8 days ago: epenchev liked this project.
  • 10 days ago: agamez liked this project.
  • 11 days ago: nchung joined this project.
  • 11 days ago: epenchev disliked this project.
  • 12 days ago: epenchev liked this project.
  • 12 days ago: epenchev started this project.
  • 12 days ago: epenchev originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!