Note: sqlite is a file based database, so this is an antipattern, this repo is just for learning how to build controllers and plugins on top of k8s. Use at your own risk :). If there is any interest, I can expand and add support for automatic backups, there might be some interest for Edge computing and IoT data collection.
KubeLiteDB is an open-source project that provides a Kubernetes Custom Resource Definition (CRD) and operator for managing SQLite instances within a Kubernetes cluster. This project enables users to deploy and manage lightweight, ephemeral SQLite databases easily, leveraging Kubernetes' scalability and orchestration capabilities.
- Custom Resource Definition (CRD): Define and manage SQLite instances using Kubernetes-native APIs.
- Lightweight Databases: Perfect for development, testing, edge computing, and microservices.
- Ephemeral and Persistent Storage: Support for both temporary and persistent storage configurations.
- Easy Deployment: Simplify database provisioning and management in your Kubernetes clusters.
- Scalability: Deploy multiple isolated SQLite instances with ease.
- Auto Backups: Configure the SQLite instances to automatically backup using cronjobs.
- Development and testing environments
- Edge computing and IoT data collection
- Microservices and serverless architectures
- Offline-first applications
- Local analytics and reporting
-
Install the CRD
kubectl apply -f artifacts/crd.yaml
-
Deploy a SQLite Instance
kubectl apply -f artifacts/example-sqlite-instance.yaml
We welcome contributions from the community. Please read our contributing guide to get started.
This project is licensed under the Apache License, Version 2.0. See LICENSE for more information.