{"id":17760842,"url":"https://github.com/vaticyai/syncpocalypse","last_synced_at":"2025-04-01T13:17:46.090Z","repository":{"id":258940972,"uuid":"875942160","full_name":"vaticyai/syncpocalypse","owner":"vaticyai","description":"This repository simulates a one-time database migration/backup: Pod stuck on CrashLoopBackoff and no body cares.","archived":false,"fork":false,"pushed_at":"2024-10-21T11:37:12.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-07T08:15:15.946Z","etag":null,"topics":["crashloopbackoff","golang","job","k8s","simulation"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaticyai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-10-21T06:18:46.000Z","updated_at":"2024-10-21T11:37:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"ad4a6f2c-5542-4609-bbdf-d46d0ba4e5ba","html_url":"https://github.com/vaticyai/syncpocalypse","commit_stats":null,"previous_names":["vaticyai/syncpocalypse"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaticyai%2Fsyncpocalypse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaticyai%2Fsyncpocalypse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaticyai%2Fsyncpocalypse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaticyai%2Fsyncpocalypse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaticyai","download_url":"https://codeload.github.com/vaticyai/syncpocalypse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246644098,"owners_count":20810687,"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":["crashloopbackoff","golang","job","k8s","simulation"],"created_at":"2024-10-26T19:13:39.090Z","updated_at":"2025-04-01T13:17:46.061Z","avatar_url":"https://github.com/vaticyai.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `Pod` stuck on `CrashLoopBackoff` and no body cares\n\n**Scenario:** One-Time Database Migration/Backup `Job`\n\nImagine you have a Kubernetes `Job` that performs a one-time database migration or backup.\nThe `Job` is supposed to copy data from a source to a destination\n(e.g., migrate or backup database files to a persistent storage volume).\nOn its first run, the `Job` completes successfully,\nmigrating all the necessary data to the destination directory.\n\nHowever, the next time the `Job` is triggered (intentionally or accidentally),\nit finds that all files already exist in the destination directory (the same files are already backed up).\n\nNow the `Job` cannot copy the files as they already exist,\nit crashed.\n\nKubernetes tries to restart the `Job`, which leads to the `Pod` repeatedly crashing and entering the `CrashLoopBackOff` state.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaticyai%2Fsyncpocalypse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaticyai%2Fsyncpocalypse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaticyai%2Fsyncpocalypse/lists"}