MCPcopy Index your code
hub / github.com/catalogicsoftware/kubedr

github.com/catalogicsoftware/kubedr @v0.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.0 ↗ · + Follow
180 symbols 451 edges 24 files 93 documented · 52%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Go Report Card Discuss at kubedr-discuss@googlegroups.com License Open Source Love svg2

Kubernetes Cluster Backup

Welcome to KubeDR!

catalogic Logo

Overview

Kubernetes stores all the cluster data (such as resource specs) in etcd. The KubeDR project implements data protection for this data. In addition, certificates can be backed up as well but that is optional.

The project is currently in Alpha state and hence is not meant for production use.

Rationale

There are projects and products that backup application data (stored in Persistent Volumes) but there is no project that provides same first class backup support for the very important Kubernetes cluster data stored in etcd.

For sure, there are recipes on how to take etcd snapshot but the KubeDR project from Catalogic Software aims to provide complete end to end data protection for Kubernetes data stored in etcd. In addition, this project will backup certificates as well so if a master needs to be rebuilt, all the data is available.

Features

Here is a list of high level features provided by KubeDR. For more details, please see User Guide.

  • Backup cluster data in etcd to any S3 compatible storage.
  • Backup certificates
  • Pause and resume backups
  • Clean up older snapshots based on a retention setting.
  • Restore etcd snapshot
  • Restore certificates

Roadmap

The following list shows many items that are planned for KubeDR. Some of them are improvements while others are new features.

  • Improve monitoring/reporting.
  • Support Helm installs.
  • Implement referential integrity semantics.
  • Improve restore capabilities.
  • Support file system as a target for backups.

Documentation

We use Sphinx for docs. Source for the documentation is in "docs" directory. For built documentation, see below:

Feedback

We would love to hear feedback from our users. Please feel free to open issues for bugs as well as for any feature requests.

For any questions and discussions, please join us over at our Google Group: kubedr-discuss.

Please note that the project is in Alpha so there may be many corner cases where things may not work as expected. We are actively working on fixing any bugs and on adding new features.

Core symbols most depended-on inside this repo

toSeconds
called by 15
kubedr/metrics/metrics.go
delete
called by 9
tests/src/common/kubeclient.py
read
called by 7
tests/src/common/kubeclient.py
get
called by 6
tests/src/common/kubeclient.py
create
called by 6
tests/src/common/kubeclient.py
containsString
called by 6
kubedr/controllers/metadatabackuppolicy_controller.go
ignoreNotFound
called by 6
kubedr/controllers/backuplocation_controller.go
SetupWithManager
called by 4
kubedr/controllers/backuplocation_controller.go

Shape

Method 108
Function 39
Struct 21
Class 12

Languages

Go64%
Python36%

Modules by API surface

tests/src/common/kubeclient.py42 symbols
kubedr/api/v1alpha1/zz_generated.deepcopy.go40 symbols
kubedr/controllers/metadatabackuppolicy_controller.go13 symbols
kubedr/metrics/metrics.go9 symbols
tests/src/test_backup.py8 symbols
kubedr/api/v1alpha1/metadatabackuppolicy_webhook.go8 symbols
tests/conftest.py7 symbols
kubedr/controllers/backuplocation_controller.go7 symbols
kubedr/controllers/metadatarestore_controller.go6 symbols
tests/src/common/util.py5 symbols
kubedr/controllers/metadatabackuprecord_controller.go5 symbols
kubedr/api/v1alpha1/metadatarestore_types.go5 symbols

For agents

$ claude mcp add kubedr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact