{"id":15859062,"url":"https://github.com/michaelcade/kasten-gickup","last_synced_at":"2026-03-18T17:03:51.447Z","repository":{"id":222331090,"uuid":"756939343","full_name":"MichaelCade/kasten-gickup","owner":"MichaelCade","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-19T13:37:02.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-07T12:49:07.735Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/MichaelCade.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-02-13T15:48:32.000Z","updated_at":"2024-02-20T22:50:55.000Z","dependencies_parsed_at":"2024-02-19T14:47:39.441Z","dependency_job_id":null,"html_url":"https://github.com/MichaelCade/kasten-gickup","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"ab340a4a961101365e8159c26548ce4aa4ad1e6c"},"previous_names":["michaelcade/kasten-gickup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCade%2Fkasten-gickup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCade%2Fkasten-gickup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCade%2Fkasten-gickup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCade%2Fkasten-gickup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichaelCade","download_url":"https://codeload.github.com/MichaelCade/kasten-gickup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246705654,"owners_count":20820773,"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":[],"created_at":"2024-10-05T21:03:20.559Z","updated_at":"2026-01-11T02:27:49.398Z","avatar_url":"https://github.com/MichaelCade.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# kasten-gickup\r\n\r\n## Purpose \r\nThe purpose of this repository is to provide a template for using Gickup within a Kubernetes cluster and then leveraging Kasten K10 to orchestrate Source Code Repository backups to an Object Storage location of which this could be immutable. \r\n\r\nIn the first MVP of this you will find the following files within this repository.\r\n\r\n- `gickup-deployment.yaml` - Uses an image that has gickup binary and kando to ensure we can backup and then send our data to our Object Storage location. \r\n\r\n- `gickup-config.yaml` contains configuration on our source, destination and logging \r\n\r\n- `gickup-secret.yaml` contains our GitHub Secret but this could also contain any other sensitive information. \r\n\r\n- `gickup-pv-pvc.yaml` A volume to store our initial backup chain.\r\n\r\n## Deployment \r\n\r\nIn order to use the above you will need to edit the files above, you will need a GitHub Secret added and then choose the configuration required for source and destination. \r\n\r\nOnce you have the above edited then you can deploy this to your cluster, for my testing I used a dedicated namespace called `gickup` for ease of management and also to be able to annotate later when it comes to the blueprint. \r\n\r\nYou will also need Kasten K10 installed. \r\n\r\n\r\n## Blueprint \r\nAt this stage you can also deploy the `gickup-blueprint-k10.yaml` \r\n\r\n```\r\nkubectl apply -f gickup-blueprint-k10.yaml -n kasten-io\r\n```\r\n\r\nWhen you have K10 deployed you will need to annotate the deployment we deployed above so the blueprint is associated to that workload. \r\n\r\n```\r\nkubectl --namespace=gickup annotate deployment/gickup-deployment \\\r\n\u003e kanister.kasten.io/blueprint=gickup-blueprint\r\n```\r\n\r\n## Kasten K10 \r\n\r\nNow we are ready to create a new K10 policy for protecting our workloads, you will also need an object storage location configured to send our backups too. \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelcade%2Fkasten-gickup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelcade%2Fkasten-gickup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelcade%2Fkasten-gickup/lists"}