{"id":27796479,"url":"https://github.com/cloudoutloud/platform-helm-charts","last_synced_at":"2025-10-09T11:09:17.197Z","repository":{"id":290484693,"uuid":"974579291","full_name":"cloudoutloud/platform-helm-charts","owner":"cloudoutloud","description":"Example on how to deploy open source helm charts to each environment Kubernetes clusters using Kustomize and Argocd.","archived":false,"fork":false,"pushed_at":"2025-07-25T13:38:06.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T11:09:16.193Z","etag":null,"topics":["argocd","helm","kubernetes"],"latest_commit_sha":null,"homepage":"","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/cloudoutloud.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-29T02:02:11.000Z","updated_at":"2025-07-25T13:38:07.000Z","dependencies_parsed_at":"2025-07-25T15:22:21.726Z","dependency_job_id":"ce4e49f7-79b8-4ac3-9653-27750ff48f5d","html_url":"https://github.com/cloudoutloud/platform-helm-charts","commit_stats":null,"previous_names":["cloudoutloud/platform-helm-charts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cloudoutloud/platform-helm-charts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudoutloud%2Fplatform-helm-charts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudoutloud%2Fplatform-helm-charts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudoutloud%2Fplatform-helm-charts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudoutloud%2Fplatform-helm-charts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudoutloud","download_url":"https://codeload.github.com/cloudoutloud/platform-helm-charts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudoutloud%2Fplatform-helm-charts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001286,"owners_count":26083058,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["argocd","helm","kubernetes"],"created_at":"2025-04-30T20:58:57.733Z","updated_at":"2025-10-09T11:09:17.190Z","avatar_url":"https://github.com/cloudoutloud.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Platform helm charts\n\nAn opinionated example on how to deploy open-source Helm charts to each set of environment Kubernetes clusters.\n\nThis method makes use of the following open-source tools.\n\n- [Argocd](https://argo-cd.readthedocs.io/en/stable/)\n- [Kustomize](https://kustomize.io/)\n\n## What problem does this solve?\n\nAs a platform or DevOps engineer, you will be consuming many open-source tools to extend the\nfunctionality of Kubernetes. These typically come packaged in the form of a Helm chart.\nYou will need to deploy these charts to different environments.\n\nTypically, you normally just consume these charts and override the values when needed based on the environments it's deployed in or functionally needed.\n\nThis repo gives a structured approach to deploy open-source charts to a given cluster.\n\nClusters and any additional infrastructure would be provisioned outside this repo, using popular infrastructure as code.\n\n### General layout\n\n- bootstrap-argocd-chart - Core Argocd chart applied manually\n- env-root-apps - Applied manually Argocd apps to track sub environment folders\n- environments \u003e development \u003e dev-cluster-01 - Example environment folder\n- global \u003e cert-manager - Example\n\n```\n├── bootstrap-argocd-chart\n│   ├── README.md\n│   └── argo-cd\n│       ├── Chart.lock\n│       ├── Chart.yaml\n│       └── values.yaml\n├── env-root-apps\n│   ├── README.md\n│   ├── development-root-app.yaml\n├── environments\n│   ├── development\n│   │   ├── dev-cluster-01\n│   │   │   ├── cert-manager\n│   │   │   │   └── kustomization.yaml\n│   │   │   ├── kustomization.yaml\n│   │   │   └── project.yaml\n│   │   ├── dev-cluster-02\n│   │   └── kustomization.yaml\n│   └── production\n└── global\n    ├── README.md\n    ├── argocd\n    │   ├── app.yaml\n    │   └── kustomization.yaml\n    ├── cert-manager\n    │   ├── app.yaml\n    │   └── kustomization.yaml\n```\n\n### Bootstrap and upgrading Argocd\n\nSee dedicated readme in path `bootstrap-argocd-chart`\n\n### Adding a open-source chart\n\nAdd a new folder under the global directory, populate it with an app.yaml to define the open source helm chart using a helm Argocd application manifest.\n\n## Additional chart extra config\n\nThere are additional config apps deployed separate to main helm charts.\nThis would normally be resources that consume the chart custom resource definitions (CRD) but sit outside the upstream chart in different namespaces.\nThis config could also be unrelated to helm charts, if you would like a Argocd application to deploy resources in a certain namespace.\n\n## Values files vs Values objects\n\nWithin each global Argocd application manifest you can either specify `valuesObject` in line values or reference a separate file `valueFiles` but you can use both.\n\nFor `valueFiles` you can specify a common values files in the global dir and then a override file in a overlay environment folder.\n\nAn example of this is in the global folder `kube-prometheus-stack`\n\n## Kustomize\n\n[Kustomize](https://kustomize.io/) tool is used for templating.\nGlobal config application config should be generic enough for any environment. Values can then be override or patches in relevant environment sub folders.\n\nThere is a GitHub workflow that runs on every pull request to main, this is to check that Kustomize can build the directory.\n\n## Updatecli\n\n[Updatecli](https://www.updatecli.io/) tool is used to raised pull request when a new version of a chart is released.\n\nThis helps keep charts you are deploying update to date with the latest features and secuirty patches.\n\nIts currently set to manually be triggered via github action and will raise pull request on major versions.\n\nIts using the Argocd autodiscovery [plugin](https://www.updatecli.io/docs/plugins/autodiscovery/argocd/)\n\n`updatecli/default.yaml` is used to config.\n\nFor more information see offical [documentation](https://www.updatecli.io/docs/prologue/introduction/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudoutloud%2Fplatform-helm-charts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudoutloud%2Fplatform-helm-charts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudoutloud%2Fplatform-helm-charts/lists"}