argoproj / gitops-engine

Democratizing GitOps
https://pkg.go.dev/github.com/argoproj/gitops-engine?tab=subdirectories
Apache License 2.0
1.67k stars 247 forks source link

describe infrastructure into two git repos instead of one: one public one private #26

Open obeyler opened 4 years ago

obeyler commented 4 years ago

Feature request:

aim :

split git repo on 2 repo git : one public one private

context:

We need to deploy on differents K8S the nearly the same infrastructure (K8S namespace/deployment/serviceAccount.... or helm chart) describe in a git. Secret or certificate must not be stored inside this first git repo because this infrastructure is deployed in differents K8S they don't have same secret/certificate.

The secret git repo should also enable/disable some part discribed into first git repo

Use case:

on public repo we need to several products/object that need to be installed on K8S such as OpenLDAP /Gitlab/Prometheus/Grafana etc.

this repo will be use to create several instances of this infrastructure. On Paris K8S, they need to install every thing. On Tokyo K8S, as they already have an OpenLDAP, they need to install only Gitlab/Prometheus/Grafana etc. but no OpenLDap

Paris and Tokyo describe nearly the same K8S content except openldap installation and Secret and certificate

mvazquezc commented 4 years ago

If I'm not mistaken it seems you can achieve that using ArgoCD + Kustomize. Have you explored that solution?

stefanprodan commented 4 years ago

You can do this with Flux and Kustomize. Connect Flux to the private repo and in the private repo kustomization use remote bases pointing to your public repo:

bases:
  - github.com/org/public-repo/prometheus
  - github.com/org/public-repo/grafana
obeyler commented 4 years ago

If I'm not mistaken it seems you can achieve that using ArgoCD + Kustomize. Have you explored that solution?

not yet I will try it thanks @mvazquezc @stefanprodan