|
6 | 6 | [](https://opensource.org/licenses/MIT) |
7 | 7 | [](https://graz-dev.github.io/kalco) |
8 | 8 |
|
9 | | -*Extract, analyze, and version control your entire Kubernetes cluster with Git integration* |
| 9 | +*Extract, analyze, and version control your entire Kubernetes cluster with Git integration.* |
10 | 10 |
|
11 | | -[Quick Start](#quick-start) • [Documentation](https://graz-dev.github.io/kalco) • [Examples](#examples) • [Contributing](#contributing) |
| 11 | +## 🚀 Overview |
12 | 12 |
|
13 | | ---- |
| 13 | +Kalco acts as a bridge between your Kubernetes cluster **Reality** and your GitOps **Intention**. It allows you to: |
| 14 | +- **Snapshot** your cluster state into organized YAML (Deployment, Service, CRDs...). |
| 15 | +- **Detect Drift** between Git manifests (Helm/Kustomize/Raw) and the live cluster. |
| 16 | +- **Audit** changes over time with automated Git commits. |
14 | 17 |
|
15 | | -## Overview |
| 18 | +## 📚 Documentation |
16 | 19 |
|
17 | | -Kalco is a CLI tool designed for comprehensive Kubernetes cluster analysis, resource extraction, and lifecycle management. Kalco provides automated cluster backup and change tracking capabilities through a clean interface. |
| 20 | +Full documentation is available at [**graz-dev.github.io/kalco**](https://graz-dev.github.io/kalco). |
18 | 21 |
|
19 | | -## Core Features |
20 | | - |
21 | | -### Context Management |
22 | | -Manage multiple Kubernetes clusters through a unified interface: |
23 | | - |
24 | | -- **Multi-Cluster Support** - Handle dev, staging, and production environments |
25 | | -- **Configuration Persistence** - Store cluster settings and output directories |
26 | | -- **Team Collaboration** - Share and import context configurations |
27 | | -- **Environment Isolation** - Separate configurations for different clusters |
28 | | - |
29 | | -### Resource Export |
30 | | -Export cluster resources with professional organization: |
31 | | - |
32 | | -- **Structured Output** - Intuitive directory organization by namespace and resource type |
33 | | -- **Complete Coverage** - Native Kubernetes resources and Custom Resource Definitions (CRDs) |
34 | | -- **Clean YAML** - Metadata optimization for re-application |
35 | | -- **Context-Based Configuration** - Output directory automatically derived from active context |
36 | | - |
37 | | -### Git Integration |
38 | | -Automatic version control for cluster changes: |
39 | | - |
40 | | -- **Repository Initialization** - Automatic Git setup for new export directories |
41 | | -- **Change Tracking** - Commit history with timestamp-based or custom messages |
42 | | -- **Remote Push** - Optional automatic push to remote repositories |
43 | | -- **Branch Management** - Support for main/master branch conventions |
44 | | - |
45 | | -### Report Generation |
46 | | -Professional change analysis reports: |
47 | | - |
48 | | -- **Change Tracking** - Detailed analysis of resource modifications |
49 | | -- **Git Integration** - Complete commit history and diff information |
50 | | -- **Professional Formatting** - Clean Markdown reports with actionable insights |
51 | | - |
52 | | -## Quick Start |
| 22 | +## ⚡ Quick Start |
53 | 23 |
|
54 | 24 | ### Installation |
55 | 25 |
|
56 | | -**Package Managers (recommended):** |
| 26 | +**Homebrew (macOS/Linux)** |
57 | 27 | ```bash |
58 | | -# Homebrew |
59 | 28 | brew install graz-dev/tap/kalco |
60 | | - |
61 | | -# Build from source |
62 | | -git clone https://github.com/graz-dev/kalco.git |
63 | | -cd kalco && go build -o kalco |
64 | 29 | ``` |
65 | 30 |
|
66 | | -**Linux/macOS:** |
| 31 | +**Install Script** |
67 | 32 | ```bash |
68 | 33 | curl -fsSL https://raw.githubusercontent.com/graz-dev/kalco/master/scripts/install.sh | bash |
69 | 34 | ``` |
70 | 35 |
|
71 | | -**Windows (PowerShell):** |
72 | | -```powershell |
73 | | -iwr -useb https://raw.githubusercontent.com/graz-dev/kalco/master/scripts/install.ps1 | iex |
74 | | -``` |
75 | | - |
76 | 36 | ### Basic Usage |
77 | 37 |
|
78 | | -1. **Create a Context:** |
| 38 | +1. **Setup Context**: |
79 | 39 | ```bash |
80 | | - kalco context set production \ |
81 | | - --kubeconfig ~/.kube/prod-config \ |
82 | | - --output ./prod-exports \ |
83 | | - --description "Production cluster for customer workloads" |
| 40 | + kalco context set prod --output ./prod-backup |
84 | 41 | ``` |
85 | 42 |
|
86 | | -2. **Export Cluster Resources:** |
| 43 | +2. **Snapshot Cluster**: |
87 | 44 | ```bash |
88 | | - kalco export --git-push --commit-message "Weekly backup" |
| 45 | + kalco export --git-push |
89 | 46 | ``` |
90 | 47 |
|
91 | | -3. **Load Existing Context:** |
| 48 | +3. **Verify GitOps Drift** (New!): |
92 | 49 | ```bash |
93 | | - kalco context load ./existing-kalco-export |
| 50 | + kalco diff --target ./my-app/deploy.yaml --snapshot-dir ./prod-backup --refresh |
94 | 51 | ``` |
95 | 52 |
|
96 | | -## Command Reference |
| 53 | +## 🤝 Contributing |
97 | 54 |
|
98 | | -### Core Commands |
| 55 | +We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details. |
99 | 56 |
|
100 | | -| Command | Description | Usage | |
101 | | -|---------|-------------|-------| |
102 | | -| `kalco context` | Manage cluster contexts | `kalco context set/list/use/load` | |
103 | | -| `kalco export` | Export cluster resources | `kalco export [flags]` | |
104 | | -| `kalco completion` | Shell completion | `kalco completion bash\|zsh\|fish\|powershell` | |
105 | | -| `kalco version` | Version information | `kalco version` | |
106 | | - |
107 | | -Read the [docs](https://graz-dev.github.io/kalco) for more details. |
108 | | - |
109 | | -## Contributing |
110 | | - |
111 | | -We welcome contributions to improve Kalco: |
112 | | - |
113 | | -- **Bug Reports**: [Create an issue](https://github.com/graz-dev/kalco/issues/new) |
114 | | -- **Feature Requests**: [Create an issue](https://github.com/graz-dev/kalco/issues/new) |
115 | | -- **Code Contributions**: Fork, develop, and submit pull requests |
116 | | -- **Documentation**: Help improve guides and examples |
117 | | - |
118 | | -## License |
| 57 | +## 📄 License |
119 | 58 |
|
120 | 59 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
121 | | - |
122 | | -## Support |
123 | | - |
124 | | -- **Documentation**: [https://graz-dev.github.io/kalco](https://graz-dev.github.io/kalco) |
125 | | -- **Issues**: [GitHub Issues](https://github.com/graz-dev/kalco/issues) |
126 | | - |
127 | | ---- |
128 | | - |
129 | | -<div align="center"> |
130 | | - |
131 | | -**Built with ❤️ for the Kubernetes community** |
132 | | - |
133 | | -[Star us on GitHub](https://github.com/graz-dev/kalco) • [Read the Docs](https://graz-dev.github.io/kalco) |
134 | | - |
135 | | -</div> |
0 commit comments