|
1 | | -# Naru - Secure Configuration Manager |
| 1 | +# 🛡️ Naru |
2 | 2 |
|
3 | | -Naru is a CLI tool designed for secure, structured, and schema-aware application configuration management. It ensures the integrity of your configuration data across environments (development, staging, production) with automatic encryption and a strict auditing system. |
| 3 | +[](https://github.com/Luvion1/naru/actions/workflows/ci.yml) |
| 4 | +[](https://github.com/Luvion1/naru/releases) |
| 5 | +[](https://opensource.org/licenses/MIT) |
| 6 | +[](https://www.rust-lang.org/) |
4 | 7 |
|
5 | | -## 🚀 Key Features |
| 8 | +**Naru** is a high-performance, security-first CLI tool for structured configuration management. Built with Rust for speed and safety, it provides an industrial-grade layer for handling sensitive environment variables and application settings with built-in schema enforcement and cryptographic protection. |
6 | 9 |
|
7 | | -- **AES-GCM Encryption**: Automatically secures sensitive data using industry standards. |
8 | | -- **Schema Validation**: Ensures configuration values match expected data types (string, integer, boolean) and rules (min/max). |
9 | | -- **Multi-Environment**: Separate management for different development environments. |
10 | | -- **Audit System**: Records every change (Set, Import, Env, Schema) with sensitive value masking. |
11 | | -- **Flexible Import/Export**: Supports `.env`, `YAML`, and `JSON` formats. |
12 | | -- **Interactive Wizard**: Built-in interactive schema editor for easy data rule maintenance. |
| 10 | +[Explore Documentation](./docs/architecture.md) • [Report Bug](https://github.com/Luvion1/naru/issues) • [Request Feature](https://github.com/Luvion1/naru/issues) |
13 | 11 |
|
14 | | -## 🛠️ Installation |
| 12 | +--- |
| 13 | + |
| 14 | +## ✨ Core Pillars |
| 15 | + |
| 16 | +### 🔒 Zero-Trust Security |
| 17 | +All sensitive values are encrypted using **AES-256-GCM**. Naru ensures that secrets are never stored in plain text, even in your local configuration files. |
| 18 | + |
| 19 | +### 📐 Schema-Driven Integrity |
| 20 | +Forget about runtime crashes due to missing environment variables. Naru enforces strict schema validation (types, ranges, regex) before your configuration is ever deployed. |
| 21 | + |
| 22 | +### 🕵️ Immutable Auditing |
| 23 | +Every operation—from manual sets to bulk imports—is cryptographically hashed and logged. Know exactly **who** changed **what** and **when**, with sensitive data automatically masked in logs. |
| 24 | + |
| 25 | +### 🔄 Seamless Interop |
| 26 | +Native support for `.env`, `YAML`, and `JSON`. Import your existing configurations and Naru will automatically upgrade them with security and validation. |
15 | 27 |
|
16 | | -Naru is built with Rust. Ensure you have the latest Rust toolchain installed. |
| 28 | +--- |
| 29 | + |
| 30 | +## 🚀 Quick Start |
17 | 31 |
|
| 32 | +### Installation |
18 | 33 | ```bash |
19 | | -# Clone the repository |
| 34 | +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
20 | 35 | git clone https://github.com/Luvion1/naru.git |
21 | 36 | cd naru |
22 | | - |
23 | | -# Build the project |
24 | 37 | cargo build --release |
25 | 38 | ``` |
26 | 39 |
|
27 | | -The binary will be available at `target/release/naru`. |
| 40 | +### The 60-Second Workflow |
| 41 | +1. **Initialize**: `naru init` |
| 42 | +2. **Secure Schema**: `naru schema --interactive` |
| 43 | +3. **Set Secrets**: `naru set DB_PASSWORD "p@ssword" --secret` |
| 44 | +4. **Validation Check**: `naru validate` |
| 45 | +5. **Export**: `naru export --format yaml` |
28 | 46 |
|
29 | | -## 📖 Usage Quick Start |
| 47 | +--- |
30 | 48 |
|
31 | | -### 1. Initialize a Project |
32 | | -```bash |
33 | | -naru init |
34 | | -``` |
| 49 | +## 🛠️ Technology Stack |
35 | 50 |
|
36 | | -### 2. Create a Schema (Interactive) |
37 | | -```bash |
38 | | -naru schema --interactive |
39 | | -``` |
| 51 | +- **Core**: Rust (2024 Edition) |
| 52 | +- **Encryption**: `aes-gcm` (Authenticated Encryption) |
| 53 | +- **CLI**: `clap` v4 (Derive API) |
| 54 | +- **Serialization**: `serde` (High-performance JSON/YAML/TOML) |
| 55 | +- **Terminal UI**: `dialoguer` & `console` |
40 | 56 |
|
41 | | -### 3. Set a Configuration |
42 | | -```bash |
43 | | -naru set KEY VALUE --env production --secret |
44 | | -``` |
| 57 | +--- |
45 | 58 |
|
46 | | -### 4. Export Configurations |
47 | | -```bash |
48 | | -naru export --format yaml --output config.yaml |
49 | | -``` |
| 59 | +## 📖 Deep Dive Documentation |
| 60 | + |
| 61 | +| Document | Description | |
| 62 | +| :--- | :--- | |
| 63 | +| [**CLI Guide**](./docs/cli-guide.md) | Comprehensive reference for all commands and flags. | |
| 64 | +| [**Architecture**](./docs/architecture.md) | Detailed breakdown of the internal DDD-inspired design. | |
| 65 | +| [**Security Model**](./docs/security-model.md) | Technical specs on the encryption and threat model. | |
| 66 | +| [**Validation**](./docs/validation-schema.md) | How to write complex validation rules for your data. | |
| 67 | +| [**Audit System**](./docs/audit-system.md) | Understanding the tamper-evident logging system. | |
| 68 | + |
| 69 | +--- |
| 70 | + |
| 71 | +## 🤝 Contributing |
50 | 72 |
|
51 | | -## 📁 Detailed Documentation |
| 73 | +We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) to get started. |
52 | 74 |
|
53 | | -For more in-depth information, please refer to the documents in the `docs/` directory: |
| 75 | +## 📄 License |
54 | 76 |
|
55 | | -1. [**CLI Reference**](./docs/cli-guide.md) - Complete command reference. |
56 | | -2. [**Core Architecture**](./docs/architecture.md) - Internal design and structure. |
57 | | -3. [**Security Model**](./docs/security-model.md) - Encryption and data protection details. |
58 | | -4. [**Audit System**](./docs/audit-system.md) - How Naru tracks activities. |
59 | | -5. [**Validation Schema**](./docs/validation-schema.md) - Creating data validation rules. |
| 77 | +Distributed under the MIT License. See `LICENSE` for more information. |
60 | 78 |
|
61 | 79 | --- |
62 | | -© 2026 Naru Project. Built for DevOps security and efficiency. |
| 80 | +<p align="center">Built with ❤️ for the DevOps community by <b>Luvion1</b></p> |
0 commit comments