{"id":18542337,"url":"https://github.com/alauda/captain","last_synced_at":"2025-04-09T23:14:20.978Z","repository":{"id":35946503,"uuid":"198975041","full_name":"alauda/captain","owner":"alauda","description":"A Helm 3 Controller","archived":false,"fork":false,"pushed_at":"2024-07-05T06:59:38.000Z","size":7546,"stargazers_count":186,"open_issues_count":12,"forks_count":39,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-09T23:14:13.182Z","etag":null,"topics":["docker","helm","helm-charts","helm-controller","kubernetes","kubernetes-controller","kubernetes-operator"],"latest_commit_sha":null,"homepage":null,"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/alauda.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":"2019-07-26T08:07:42.000Z","updated_at":"2025-01-22T16:44:56.000Z","dependencies_parsed_at":"2024-12-20T22:11:51.605Z","dependency_job_id":"97f8999e-fada-4253-a7fb-4bc16007cada","html_url":"https://github.com/alauda/captain","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alauda%2Fcaptain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alauda%2Fcaptain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alauda%2Fcaptain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alauda%2Fcaptain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alauda","download_url":"https://codeload.github.com/alauda/captain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125589,"owners_count":21051770,"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":["docker","helm","helm-charts","helm-controller","kubernetes","kubernetes-controller","kubernetes-operator"],"created_at":"2024-11-06T20:08:06.027Z","updated_at":"2025-04-09T23:14:20.957Z","avatar_url":"https://github.com/alauda.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./logo.png)\n# Captain\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Go Report Card](https://goreportcard.com/badge/github.com/alauda/captain)](https://goreportcard.com/report/github.com/alauda/captain) [![Tag](https://img.shields.io/github/tag/alauda/captain)](https://img.shields.io/github/tag/alauda/captain)\n![Docker Image CI](https://github.com/alauda/captain/workflows/Docker%20Image%20CI/badge.svg)\n![Go](https://github.com/alauda/captain/workflows/Go/badge.svg)\n\nCaptain is a Helm 3 Controller\n\n\n![](./docs/imgs/captain-arc-2.png)\n\n\n## About Helm3 \n\nThis project is based on the core [helm](https://github.com/helm/helm) v3 code, acting as a library. Some modifications were made to help implement this controller on a fork: [alauda/helm](https://github.com/alauda/helm) .\n\n## Features\n* HelmRequest/ChartRepo/Release CRD, namespace based\n* Git/Svn as ChartRepo\n* Local ChartRepo based on ChartMuseum\n* Multi cluster support based on [cluster-registry](https://github.com/kubernetes/cluster-registry)\n* Dependency check for HelmRequest (between HelmRequests)\n* `valuesFrom` support: support to ConfigMap or Secret value store\n* `kubectl apply` like resource manipulation: no more resource conflict and CRD management issues\n* OCI chart support\n* HTTP downloadable chart support\n\n\n## Quick Start\nCheck the [Installation Guide](./docs/en/install.md) to learn how to install captain\n\nThen, create a HelmRequest resource \n\n```yaml\nkind: HelmRequest\napiVersion: app.alauda.io/v1\nmetadata:\n  name: nginx-ingress\nspec:\n  chart: stable/nginx-ingress\n```\nAfter a few seconds, you have an nginx-ingress chart running\n\n```bash\nroot@VM-16-12-ubuntu:~/demo# kubectl get pods\nNAME                                             READY   STATUS    RESTARTS   AGE\nnginx-ingress-controller-57987f445c-9rhv5        1/1     Running   0          16s\nnginx-ingress-default-backend-7679dbd5c9-wkkss   1/1     Running   0          16s\nroot@VM-16-12-ubuntu:~/demo# kubectl get hr\nNAME            CHART                  VERSION   NAMESPACE   ALLCLUSTER   PHASE    AGE\nnginx-ingress   stable/nginx-ingress             default                  Synced   23s\n```\n\nFor the detailed explain and advanced usage, please check the documentation below\n\n\n\n## Documention\n\n* [How captain works](./docs/en/captain.md)\n* [Captain Upgrade](./docs/en/upgrade.md)\n* [CRDs explain](./docs/en/crd.md)\n* [Multi-Cluster Support](./docs/en/multi-cluster.md)\n* [Git/SVN as ChartRepo](./docs/en/vcs-repo.md)\n* [Annotations](./docs/en/ano.md)\n* [OCI Support](./docs/en/crds/helmrequest.md#helmrequest-oci-support)\n* [ARM64 Support](./docs/en/arm64.md)\n* [FAQ](./docs/en/faq.md)\n\n## SDK\n* [Golang](https://github.com/alauda/helm-crds): also contains the CRD definition\n\n## Future Plans\n* Java SDK\n* Auto update of HelmRequest\n* Always update to the latest version of chart\n\n\n## Captain Releated Projects\n* [kubectl-captain](https://github.com/alauda/kubectl-captain): a kubectl plugin for captain\n* [captain-test-charts](https://github.com/alauda/captain-test-charts): test charts for captain\n* [oci-chartrepo](https://github.com/alauda/oci-chartrepo): use oci registry as helm chart repo\n\n## Related Projects\n\n* [flux](https://github.com/fluxcd/flux): flux have a similar controller based on Helm2\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falauda%2Fcaptain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falauda%2Fcaptain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falauda%2Fcaptain/lists"}