Need Advice: Bitbucket Helm Repo Structure for Multi-Service K8s Project + Shared Infra (ArgoCD, Vault, Cert-Manager, etc.)
Hey everyone
I’m looking for some advice on how to organize our **Helm charts and Bitbucket repos** for a growing **Kubernetes** setup.
---
### Current setup
We currently have **one main Bitbucket repo** that contains everything —
about **30 microservices** **and** several **infra-related services** (like ArgoCD, Vault, Cert-Manager, etc.).
For our **application layer**, we have a **common base Helm chart** that’s used only for microservices.
It defines shared Kubernetes objects like Deployments, Services, ConfigMaps, and Secrets. We dont have different repo for each microservice.
Here’s a simplified view of the repo structure:
```
app/
├── project-argocd/
│ ├── charts/
│ └── values.yaml
├── project-vault/
│ ├── charts/
│ └── values.yaml
│
├── project-chart/ # Base chart used only for microservices
│ ├── basechart/
│ │ ├── templates/
│ │ └── Chart.yaml
│ ├── templates/
│ ├── Chart.yaml # Defines multiple services as dependencies using basechart
│ └── values/
│ ├── cluster1/
│ │ ├── service1/
│ │ │ └── values.yaml
│ │ └── service2/
│ │ └── values.yaml
│ └── values.yaml
│
│ # Each values file under 'values/' is synced to clusters via ArgoCD
│ # using an ApplicationSet for automated multi-cluster deployments
```
---
The following **infra services** are also in the same repo right now:
* **ArgoCD**
* **HashiCorp Vault**
* **Cert-Manager**
* **Project Contour (Ingress)**
* *(and other cluster-level tools like k3s, Longhorn, etc.)*
These are **not tied to the application project** — they’re shared and deployed across **multiple clusters and environments**.
---
### Questions
1. Should I move these shared infra components into a **separate “infra” Bitbucket repo** (including their Helm charts, Terraform, and Ansible configs)?
2. For GitOps with **ArgoCD**, would it make more sense to split things like this:
* **“apps” repo** → all microservices + base Helm chart
* **“infra” repo** → cluster-level services (ArgoCD, Vault, Cert-Manager, Longhorn, etc.)
3. How do other teams handle **shared Helm dependencies** like this base chart across multiple services or clusters?
---
Disclaimer: use ai to generate reddit post. for solving grammar error and ease of understanding.
Posted Nov 1, 2025, 1:11 PM UTC
10