{"id":13607524,"url":"https://github.com/slok/kahoy","last_synced_at":"2025-03-25T03:31:28.645Z","repository":{"id":38339530,"uuid":"284775684","full_name":"slok/kahoy","owner":"slok","description":"Simple Kubernetes raw manifests deployment tool","archived":false,"fork":false,"pushed_at":"2023-03-01T19:01:14.000Z","size":4238,"stargazers_count":34,"open_issues_count":14,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-19T08:39:21.761Z","etag":null,"topics":["ci","continuous-integration","deploy","deployment","k8s","kubectl","kubernetes","kubernetes-deployment","manifests","ship","yaml"],"latest_commit_sha":null,"homepage":"https://docs.kahoy.dev/","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/slok.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-08-03T18:21:25.000Z","updated_at":"2024-03-28T15:35:48.000Z","dependencies_parsed_at":"2024-01-14T05:09:23.369Z","dependency_job_id":null,"html_url":"https://github.com/slok/kahoy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slok%2Fkahoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slok%2Fkahoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slok%2Fkahoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slok%2Fkahoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slok","download_url":"https://codeload.github.com/slok/kahoy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245394738,"owners_count":20608122,"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":["ci","continuous-integration","deploy","deployment","k8s","kubectl","kubernetes","kubernetes-deployment","manifests","ship","yaml"],"created_at":"2024-08-01T19:01:19.378Z","updated_at":"2025-03-25T03:31:27.632Z","avatar_url":"https://github.com/slok.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs-src/static/img/logo.png\" width=\"25%\" align=\"center\" alt=\"kahoy\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/slok/kahoy/actions\"\u003e\n    \u003cimg src=\"https://github.com/slok/kahoy/workflows/CI/badge.svg\" alt=\"ci\"\u003e\n  \u003c/a\u003e\n  \n  \u003ca href=\"https://goreportcard.com/report/github.com/slok/kahoy\"\u003e\n    \u003cimg src=\"https://goreportcard.com/badge/github.com/slok/kahoy\" alt=\"Go Report\"\u003e\n  \u003c/a\u003e\n  \n  \u003ca href=\"https://hub.docker.com/r/slok/kahoy\"\u003e\n    \u003cimg src=\"https://img.shields.io/docker/pulls/slok/kahoy.svg\" alt=\"Docker Pulls\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/slok/kahoy/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/slok/kahoy\" alt=\"Release\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Kahoy - easy and reliable Kubernetes manifest deployments\n\n\u003e When [Kubectl] is too simple and available deployment solutions too complex.\n\n- [Docs]\n- [Releases]\n- [Docker images][docker-images]\n\n## Main features\n\n- Simple, flexible, and lightweight. A **single CLI**.\n- Deploy **any kind** of Kubernetes resource (core resources, CRDs...).\n- Reliable **Garbage collection**.\n- **Adapts** to any type of Kubernetes **manifest structure** (a single YAML, few manifests, big manifest repository...).\n- Use to deploy as individual releases/services (**Helm style**) or group of manifest repository (**Flux style**).\n- **Gitops** ready (apply only changed resources, diff, dry-run...).\n- Multiple resource **filtering options** (file paths, resource namespace, types...).\n- **Reports** of what applies and deletes (useful to combine with other apps, e.g: wait, checks, notifications…).\n\n## Getting started\n\nCheck [concepts docs][concepts-docs] and start deploying any kind of Kubernetes resources:\n\n```bash\n# Dry run.\n$ kahoy apply --dry-run --kube-provider-id \"ci\" -n \"./manifests\"\n\n# Diff changes.\n$ kahoy apply --diff --kube-provider-id \"ci\" -n \"./manifests\"\n\n# Deploy.\n$ kahoy apply --kube-provider-id \"ci\" -n \"./manifests\"\n```\n\nGet more information on the [docs] website.\n\n## Contributing\n\nCheck [CONTRIBUTING.md](CONTRIBUTING.md) file.\n\n[kubectl]: https://kubernetes.io/docs/reference/kubectl/overview/\n[concepts-docs]: https://docs.kahoy.dev/topics/concepts/\n[docs]: http://docs.kahoy.dev\n[releases]: https://github.com/slok/kahoy/releases\n[docker-images]: https://hub.docker.com/r/slok/kahoy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslok%2Fkahoy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslok%2Fkahoy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslok%2Fkahoy/lists"}