{"id":26964271,"url":"https://github.com/mimani68/db-backup-operator","last_synced_at":"2026-04-12T17:12:10.238Z","repository":{"id":59960543,"uuid":"539082815","full_name":"mimani68/db-backup-operator","owner":"mimani68","description":"Custom Kubernetes Operator for DB backup","archived":false,"fork":false,"pushed_at":"2023-05-05T13:23:51.000Z","size":428,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-15T01:30:17.403Z","etag":null,"topics":["crd","database","k8s","kubernetes","operator"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mimani68.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-20T16:19:29.000Z","updated_at":"2023-04-27T17:19:59.000Z","dependencies_parsed_at":"2024-06-20T23:29:06.703Z","dependency_job_id":null,"html_url":"https://github.com/mimani68/db-backup-operator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimani68%2Fdb-backup-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimani68%2Fdb-backup-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimani68%2Fdb-backup-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimani68%2Fdb-backup-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mimani68","download_url":"https://codeload.github.com/mimani68/db-backup-operator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246947671,"owners_count":20859297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crd","database","k8s","kubernetes","operator"],"created_at":"2025-04-03T06:30:22.614Z","updated_at":"2025-10-17T20:01:58.555Z","avatar_url":"https://github.com/mimani68.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# K8S Database Operator\n\n![](./docs/images/logo-color.png)\n\n# Description\n\nDatabase backup is an essential part of any disaster recovery plan. Automated tools such as scripts and Kubernetes operators can help streamline the process of backing up your data. Scripts can be used to automate the process of creating and storing backups on a regular schedule. Kubernetes operators can also be used to manage the backup process for databases running in a Kubernetes cluster. These tools can help ensure that your data is always backed up and ready to be restored in the event of a disaster.\n\nKubernetes Custom Resource Definitions (CRDs) allow users to define and manage custom resources within a Kubernetes cluster. This can simplify the process of managing complex applications by allowing users to define their own custom resources that can be managed using the Kubernetes API. CRDs have a rich history, having evolved from Third Party Resources in earlier versions of Kubernetes. They have become a powerful tool for extending the functionality of Kubernetes and simplifying the management of complex applications.\n\n# Getting Started\n\nYou’ll need a Kubernetes cluster to run against. You can use KIND to get a local cluster for testing, or run against a remote cluster. Note: Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster kubectl cluster-info shows).\n\n## Installing Resources\n\n```bash\nkubectl apply -f ./config/crd.yaml\n```\n\n## Defining Backup Job\n\nIn order to proceed, it is necessary to execute the specified commands and initiate a new job utilizing the provided file. Please regard the following command as an example. All disclaimers and responsibilities are at your discretion.\n\n```bash\napiVersion: ops.db.io/v1alpha1\nkind: Backup\nmetadata:\n  name: chess-app-mysql-s2-2023-05-05-15-47-00\nspec:\n  type: mysql\n  dbConnectionUrl: tcp://user7737:badSissPassw@rd@svc-0067.mysql.local/sampledb\n```\n\n# Development\n\nIn this project, a **Makefile** was utilized to automate all processes. It is highly recommended that the established order be followed for optimal results. The **Makefile** provides a streamlined and efficient method for managing the various tasks required for the project.\n\nProject elimination is also possible through the use of the Makefile. By utilizing the commands provided within the file, team members can easily delegate and manage tasks, ensuring that the project runs smoothly and efficiently.\n\n## Running on the cluster\n\n```bash\nmake manifests\nmake generate\nmake docker-build\nmake docker-push\nkustomize build config/default \u003e crd.yaml\n```\n\n## Using in kubernetes \n\n```bash\nkubectl apply -f ~/config/crd.yaml\n```\n\n## Uninstall CRDs\n\nTo delete the CRDs from the cluster:\n\n```bash\nmake uninstall\n```\n\n![](./docs/images/logo-shirt.png)\n\n# Contribute\n\nWe would like to extend a warm welcome to all those interested in contributing to our open source project. this project thrive on the contributions of passionate individuals who are dedicated to improving and advancing the project. We value the input and expertise of our contributors and are always looking for new ideas and perspectives.\n\nHowever, it is important to note that all contributions must adhere to the established rules and guidelines of the project. These rules are in place to ensure that the project remains organized, efficient, and focused on its goals. By following these guidelines, contributors can ensure that their contributions are valuable and effective.\n\nWe encourage all those interested in contributing to take the time to familiarize themselves with the project’s rules and guidelines before submitting their contributions. By adhering to these rules, contributors can help ensure the continued success and growth of the project.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmimani68%2Fdb-backup-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmimani68%2Fdb-backup-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmimani68%2Fdb-backup-operator/lists"}