Skip to content

feat: backup operation#23

Open
debdutdeb wants to merge 37 commits intodevelopfrom
feat/backup-restore
Open

feat: backup operation#23
debdutdeb wants to merge 37 commits intodevelopfrom
feat/backup-restore

Conversation

@debdutdeb
Copy link
Copy Markdown
Member

@debdutdeb debdutdeb commented Nov 21, 2025

This pull request introduces significant improvements to local development and testing workflows, particularly around k3d-based Kubernetes environments, and adds new Kubernetes API types for MongoDB backups. The most important changes are the addition of comprehensive k3d Makefile targets and documentation, the introduction of a new MongoDBBackup CRD, and updates to the build and test processes.

Local Development & Testing Enhancements:

  • Extensive new Makefile targets for k3d: Adds targets for cluster lifecycle (create, destroy), storage class setup, deploying MongoDB, MinIO, and the Airlock operator, loading images, managing data, and running utility commands like kubectl directly against the cluster. This enables reproducible, scriptable local development and testing environments.
  • New section in README.md: Documents all Makefile targets for k3d cluster management, deployment, image handling, and common workflows, making it much easier for developers to set up, test, and debug locally.

Kubernetes API Additions:

  • Adds MongoDBBackup Custom Resource Definition: Introduces MongoDBBackup and related types, including phases, conditions, and status structures. Also defines rules for phase transitions using conditions, supporting robust backup state management in the operator.
  • Adds Object2 interface: Defines a new interface in the API for objects that track phase and observed generation, enabling generic controller logic.

Build & Test Process Improvements:

  • Updates to Makefile test/build targets: Separates unit and integration tests, ensures manifests are generated during builds, and improves Docker build targets to better support local workflows. [1] [2]
  • Bumps CONTROLLER_TOOLS_VERSION: Updates to a newer version for controller tools, likely for compatibility and bug fixes.

CI/CD Workflow:

  • Switches k3d setup in GitHub Actions: Replaces nolar/setup-k3d-k3s with RocketChat/k3d-with-registry@main for improved or customized k3d cluster setup in CI.

Local development & testing:

  • Adds comprehensive Makefile targets for k3d cluster management, deployment, image loading, and data operations, enabling easy local testing and debugging of the operator and dependencies.
  • Documents all new Makefile targets and workflows in README.md, providing step-by-step instructions for local development and testing.

Kubernetes API/CRD:

  • Introduces MongoDBBackup CRD and supporting types, including phase/condition management and status fields, to support backup orchestration in the operator.
  • Adds a generic Object2 interface for phase and observed generation tracking in API objects.

Build & CI improvements:

  • Refines Makefile build and test targets for better separation of unit/integration tests, manifest generation, and Docker image workflows. [1] [2]
  • Updates controller tools version and switches k3d setup action in GitHub workflows for improved compatibility and reliability. [1] [2]

@debdutdeb debdutdeb changed the base branch from develop to tests/add-initial-tests November 21, 2025 06:30
@debdutdeb debdutdeb force-pushed the feat/backup-restore branch from 4f83cc6 to 7995f92 Compare January 21, 2026 08:14
@debdutdeb debdutdeb changed the title feat: backup and restore operations feat: backup operation Feb 13, 2026
@debdutdeb debdutdeb changed the base branch from tests/add-initial-tests to develop February 20, 2026 15:54
Comment thread internal/scheduler/scheduler.go
Comment thread Makefile

// PortmasterRecnciler emulates the cli through steps that needs be performed for the directed mode.
// hides the details of k8s api.
type PortmasterRecnciler interface {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo :)

@debdutdeb debdutdeb marked this pull request as ready for review April 13, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants