Wiktor 3beb3768ff fix(build): resolve Android and Spring Cloud dependency issues
- Add gradle.properties with android.useAndroidX=true to fix AndroidX dependency conflicts
- Replace non-existent spring-cloud-starter-kubernetes-config with spring-cloud-starter-config
- Add Spring Cloud BOM for consistent dependency versions
- Enable Jetifier for legacy library support

Made by Wiktor/overspend1
2025-07-23 11:54:00 +02:00

CoreState v2.0 - Next-Generation Advanced Backup System

1. Executive Summary

CoreState v2.0 is a high-performance, distributed backup system designed for reliability, scalability, and advanced feature support. It leverages a microservices architecture to provide a robust platform for backing up and restoring data across various environments. CoreState v2.0 introduces a sophisticated backup engine, advanced ML-based optimizations, and a modular design to support future enhancements and integrations.

The system is built with a polyglot technology stack, including Rust for the high-performance daemon, Kotlin/Java for backend services, Python for machine learning, and a web-based dashboard for user interaction. It is designed to be cloud-native, with support for Kubernetes deployment and various storage backends.

2. Architecture Overview

CoreState v2.0 is composed of several key components that work together to provide a comprehensive backup solution.

Architecture Diagram

Core Components:

  • Web Dashboard: A React-based web interface for users to manage backups, monitor system status, and configure settings.
  • Daemon: A lightweight, high-performance agent written in Rust that runs on client machines to perform backup and restore operations.
  • Backup Engine: The core service, written in Kotlin, responsible for orchestrating the backup and restore workflows, including scheduling, data processing, and storage management.
  • ML Optimizer: A Python-based service that uses machine learning models to optimize backup schedules, detect anomalies, and predict storage needs.
  • Sync Coordinator: Manages data synchronization and consistency across distributed components.
  • Storage HAL (Hardware Abstraction Layer): Provides a unified interface for interacting with different storage backends (e.g., S3, Azure Blob, GCP Cloud Storage, local filesystems).

Supporting Services:

  • Analytics Engine: Collects and processes system metrics for monitoring and reporting.
  • Compression Engine: Provides data compression services to reduce storage footprint.
  • Deduplication Service: Identifies and eliminates redundant data blocks to optimize storage.
  • Encryption Service: Manages data encryption and key management to ensure data security.
  • Index Service: Maintains an index of backed-up data for fast searching and retrieval.

3. Project Structure

The project is organized into the following directories:

CoreState-v2/
├── apps/                # Client applications (Web Dashboard, Daemon)
│   ├── android/
│   ├── daemon/
│   └── web-dashboard/
├── docs/                # Project documentation
│   ├── api/
│   └── architecture/
├── infrastructure/      # Infrastructure as Code (Kubernetes, Terraform)
│   ├── docker/
│   ├── kubernetes/
│   └── terraform/
├── ml/                  # Machine Learning models and datasets
│   ├── datasets/
│   └── models/
├── module/              # Kernel module for advanced features
│   ├── kernel_patches/
│   └── native/
├── services/            # Backend microservices
│   ├── analytics-engine/
│   ├── backup-engine/
│   ├── compression-engine/
│   ├── deduplication-service/
│   ├── encryption-service/
│   ├── index-service/
│   ├── ml-optimizer/
│   ├── storage-hal/
│   └── sync-coordinator/
├── shared/              # Shared libraries, contracts, and protobuf definitions
│   ├── contracts/
│   ├── libs/
│   └── proto/
├── tests/               # E2E, integration, performance, and unit tests
│   ├── e2e/
│   ├── integration/
│   ├── performance/
│   └── unit/
└── tools/               # Developer and operational tools
    ├── benchmarking/
    ├── cli/
    └── migration/

4. Feature Implementations

4.1. High-Performance Daemon

The CoreState Daemon is a native application written in Rust for maximum performance and minimal resource footprint on client systems. It is responsible for:

  • File system monitoring for changes.
  • Executing backup and restore tasks as directed by the Backup Engine.
  • Client-side encryption and compression.

4.2. ML-Powered Optimization

The ML Optimizer service provides intelligent features:

  • Predictive Backups: Analyzes data change patterns to predict optimal backup times.
  • Anomaly Detection: Identifies unusual activity that might indicate a ransomware attack or data corruption.
  • Storage Optimization: Recommends storage tiering strategies based on data access patterns.

4.3. Advanced Kernel-Level Features

For supported platforms, CoreState v2.0 can utilize a kernel module for advanced capabilities:

  • CoW Snapshots: Near-instantaneous, low-overhead snapshots using Copy-on-Write.
  • Block-Level Tracking: Efficiently tracks changed data blocks for incremental backups.
  • Hardware Acceleration: Integrates with hardware security modules (HSMs) for enhanced encryption performance.

4.4. Cloud-Native and Distributed

The system is designed for the cloud:

  • Kubernetes-Native: All services are containerized and can be deployed and managed with Kubernetes.
  • Scalable: Services can be scaled independently to meet demand.
  • Resilient: The distributed nature of the system ensures high availability.

5. Getting Started

Prerequisites

  • Docker
  • Kubernetes (e.g., Minikube, Kind, or a cloud provider's EKS/AKS/GKE)
  • kubectl
  • gradle (for Backup Engine)
  • rustc and cargo (for Daemon)
  • python and pip (for ML Optimizer)
  • npm (for Web Dashboard)

Building and Running

  1. Build Services: Each service in the /services directory contains instructions for building its Docker image. For example, for the Backup Engine:

    cd services/backup-engine
    ./gradlew build
    docker build -t corestate-backup-engine .
    
  2. Deploy to Kubernetes:

    kubectl apply -f infrastructure/kubernetes/
    
  3. Build and Run Web Dashboard:

    cd apps/web-dashboard
    npm install
    npm start
    
  4. Build and Run Daemon:

    cd apps/daemon
    cargo build --release
    

6. API and Communication

Services communicate via gRPC. Protocol definitions are located in the shared/proto directory.

  • backup.proto: Defines messages and services for backup and restore operations.
  • sync.proto: Defines messages and services for data synchronization.
  • analytics.proto: Defines messages and services for analytics and monitoring.

API documentation can be found in docs/api/grpc.md.

7. Contributing

Contributions are welcome! Please refer to the project's contribution guidelines and code of conduct.

8. License

This project is licensed under the MIT License.

Description
Corestate a Backup app with kernelsu-next integration made by Wiktor/overspend1
Readme MIT 518 KiB
Languages
Kotlin 38.7%
HTML 20.4%
Python 10.4%
Rust 8.9%
Scala 7.2%
Other 14.4%