{"id":29646319,"url":"https://github.com/johnlam90/clusterapi-gitops-helm","last_synced_at":"2026-05-03T12:36:28.314Z","repository":{"id":107116183,"uuid":"276246956","full_name":"johnlam90/clusterapi-gitops-helm","owner":"johnlam90","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-27T20:37:22.000Z","size":575,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-22T02:54:32.701Z","etag":null,"topics":["argocd","cicd","cluster-api","clusterctl","devops","git","helm-charts","kubeadm","kubernetes","vsphere"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/johnlam90.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}},"created_at":"2020-07-01T01:27:01.000Z","updated_at":"2025-05-27T20:37:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"dddf4d31-5e08-4e60-9bf0-3d4f0962ba7b","html_url":"https://github.com/johnlam90/clusterapi-gitops-helm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johnlam90/clusterapi-gitops-helm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlam90%2Fclusterapi-gitops-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlam90%2Fclusterapi-gitops-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlam90%2Fclusterapi-gitops-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlam90%2Fclusterapi-gitops-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnlam90","download_url":"https://codeload.github.com/johnlam90/clusterapi-gitops-helm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlam90%2Fclusterapi-gitops-helm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32569714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","cicd","cluster-api","clusterctl","devops","git","helm-charts","kubeadm","kubernetes","vsphere"],"created_at":"2025-07-22T02:38:48.485Z","updated_at":"2026-05-03T12:36:28.307Z","avatar_url":"https://github.com/johnlam90.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cluster API GitOps using helm and ArgoCD\n\n\u003cp float=\"center\"\u003e\n  \u003cimg src=\"./docs/images/git-icon.png\" width=\"160\" /\u003e \n  \u003cimg src=\"./docs/images/plus2.png\" width=\"50\" /\u003e \n  \u003cimg src=\"./docs/images/helm.svg\" width=\"160\" /\u003e \n  \u003cimg src=\"./docs/images/plus2.png\" width=\"50\" /\u003e \n  \u003cimg src=\"./docs/images/capi.png\" width=\"160\" /\u003e\n  \u003cimg src=\"./docs/images/plus2.png\" width=\"50\" /\u003e \n  \u003cimg src=\"./docs/images/argocd.png\" width=\"160\" /\u003e \n\n\u003c/p\u003e\n\n## Goals\n\n- To bring [declarative style](https://cluster-api.sigs.k8s.io/introduction.html), Kubernetes style APIs to cluster creation\n- Use helm to modify k8 cluster values based on requirement. This helps in code reusability\n- Version control\n- Using GitOps([ArgoCD](https://github.com/argoproj/argo-cd)) to deploy, scale-in/scale-out and rollback your Kubernetes clusters.\n\n\u003cimg width=\"1618\" alt=\"argo\" src=\"https://user-images.githubusercontent.com/8691485/86292370-3ec8a400-bbb6-11ea-8a61-4ab034c6decc.png\"\u003e\n\n\n## Prerequisites\n\n- [kind](https://kind.sigs.k8s.io/) - This will act as your management cluster for bootstrapping cluster-api components.\n- [clusterctl](https://cluster-api.sigs.k8s.io/user/quick-start.html) - The clusterctl CLI tool handles the lifecycle of a Cluster API management cluster.\n- [Govc](https://github.com/vmware/govmomi/tree/master/govc) - Govc will be used to interact with your vSphere environment.\n- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n- [helm](https://github.com/helm/helm)\n- vSphere 6.7U3 or above\n\nFor more information refer to the cluster-api [quickstart](https://cluster-api.sigs.k8s.io/user/quick-start.html)\n\n## Installation \n\n### Clone repository \n```\ngit clone https://github.com/johnlam90/capv-helm.git\ncd capv-helm \n```\n### Install argocd on you kind cluster\n \n```\nkubectl create namespace argocd\nkubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml\n```\n### Access the GUI using port forwarding \n**Note:** Ideally you will use LoadBalancer or Ingress in production deployments, but port forwarding will do for our kind cluster. Refer to the argo [doc](https://argoproj.github.io/argo-cd/getting_started/)\n\n```\nkubectl port-forward svc/argocd-server -n argocd 8080:443\n```\n\n### Deploy the Application \n\n```\napiVersion: argoproj.io/v1alpha1\nkind: Application\nmetadata:\n  name: capv\n  namespace: argocd\nspec:\n  destination:\n    namespace: 'default'\n    server: https://kubernetes.default.svc\n  project: default\n  source:\n    helm:\n      valueFiles:\n      - values.yaml\n    path: capv\n    repoURL: https://github.com/johnlam90/capv-helm.git\n    targetRevision: HEAD\n  syncPolicy:\n    automated: {}\n```\n\n**Note:** Change the ``repoURL`` to your git repository \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnlam90%2Fclusterapi-gitops-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnlam90%2Fclusterapi-gitops-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnlam90%2Fclusterapi-gitops-helm/lists"}