{"id":13820269,"url":"https://github.com/fidelity/kraan","last_synced_at":"2026-03-09T22:08:33.798Z","repository":{"id":36980829,"uuid":"283215386","full_name":"fidelity/kraan","owner":"fidelity","description":"Kraan is a Kubernetes Controller that manages the deployment of HelmReleases to a cluster.","archived":false,"fork":false,"pushed_at":"2025-05-01T13:21:46.000Z","size":15525,"stargazers_count":125,"open_issues_count":13,"forks_count":18,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-01T14:29:11.724Z","etag":null,"topics":["addons","helm-controller","k8s"],"latest_commit_sha":null,"homepage":"https://fidelity.github.io/kraan/","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/fidelity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2020-07-28T13:08:04.000Z","updated_at":"2025-05-01T13:21:50.000Z","dependencies_parsed_at":"2023-11-06T02:34:48.747Z","dependency_job_id":"c127f6ee-0842-45df-8a36-c94d747cc6aa","html_url":"https://github.com/fidelity/kraan","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fidelity%2Fkraan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fidelity%2Fkraan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fidelity%2Fkraan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fidelity%2Fkraan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fidelity","download_url":"https://codeload.github.com/fidelity/kraan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254488685,"owners_count":22079476,"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":["addons","helm-controller","k8s"],"created_at":"2024-08-04T08:01:00.528Z","updated_at":"2025-10-23T02:37:47.022Z","avatar_url":"https://github.com/fidelity.png","language":"Go","funding_links":[],"categories":["others","Configuration Management"],"sub_categories":[],"readme":"# kraan - Building platforms on top of K8s\n\n*This project is currently in the early stages of development and expected to release\nbeta versions by end of September*.\n\n## What is kraan?\n\nkraan helps you deploy and manage *'layers'* on top of kubernetes. By applying *layers*\non top of K8s clusters, you can build focused platforms on top of\nK8s e.g ML platforms, Data platform etc. Each *layer* is a collection of addons and\ncan have dependencies established between the layers. i.e a \"mgmt-layer\"\ncan depend on a \"common-layer\". Kraan will always ensure that the addons in the \"common-layer\" are deployed successfully before deploying\nthe \"mgmt-layer\" addons. A layer is represented as a kubernetes custom resource and\nkraan is an [operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) that\nis deployed into the cluster and works constantly to reconcile the state of the\nlayer custom resource.\n\nkraan is powered by [flux2](https://toolkit.fluxcd.io/) and builds on\ntop of projects like [source-controller](https://github.com/fluxcd/source-controller)\nand [helm-controller](https://github.com/fluxcd/helm-controller).\n\n## Use cases\n\nKraan can be used wherever you have requirements to manage add-ons on top of k8s\nclusters and especially when you want to package the addons into dependant categories.\nIf you have a mutating webhook injecting a side-car and set of security\nplugins which should always be deployed first before other addons,then *layers*\nconcept in Kraan will help there. However, Kraan is even more powerful when it comes\nto building custom platforms on top of k8s like the one shown below.\n\nkraan promotes the idea of building model based platforms on top of k8s i.e you can\nbuild a \"general purpose\" k8s platform which might have a \"common\" and \"security\"\nlayers which packages all the common tooling, applications inside that cluster might\nneed as well as organization specific bits (e.g org specific security addons etc).\nYou can also say that the \"common-layer\" *depends-on* \"security-layer\" to be deployed first.\nThis \"general purpose\" k8s platform can then be *extended* by applying another \"ml-layer\"\nwhich can then be exposed as an ML platform to the development teams. The end result here\nis developers working on top of secure and custom-built platforms which adheres\nto organization specific policies etc. And rolling out updates to this ML\nplatform is as simple as \"kubectl apply -f \u003cLAYERS_DIR\u003e\" where new versions of the layers are\ndeployed into the cluster and kraan operator will constantly work towards\ngetting that platform to match the latest desired state!\n\nThe below diagram shows how you can use kraan to build a focused multi-cloud\nplatform where \"common\" and \"security\" layers are shared across clouds whereas\nother layers become cloud specific.\n\n![custom-platform](docs/diagrams/custom-platform.png)\n\n## Design\n\nKraan is a kubernetes controller that is built on top of [k8s custom resources](\nhttps://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/).\nIt works in tandem with [source-controller](https://github.com/fluxcd/source-controller)\nand [helm-controller](https://github.com/fluxcd/helm-controller) and hence they are always\ndeployed together. The detailed design documentation can be found [here](docs/design/README.md)\n\n## Usage\n\nSee [User Guide](docs/user-guide.md) for usage instructions.\n\nSee [Developer Guide](docs/dev-guide.md) for development.\n\n## Contributions\n\nContributions are very welcome. Please read the [contributing guide](CONTRIBUTING.md) or see the docs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffidelity%2Fkraan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffidelity%2Fkraan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffidelity%2Fkraan/lists"}