GoogleCloudPlatform/microservices-demo

Clean up and deduplicate manifests throughout the repo

bourgeoisor opened this issue · 0 comments

Currently, base Kubernetes manifests for Online Boutique live in 4 distinct places:

  • kubernetes-manifests/
  • kustomize/base/
  • release/kubernetes-manifests.yaml
  • helm-chart/templates/

And Istio manifests live in 3 distinct places:

  • kustomize/components/service-mesh-istio
  • istio-manifests/
  • release/istio-manifests.yaml

This makes releasing, but also figuring out which manifests are source of truths and which are generated copies, needlessly difficult.

At a minimum, we should (more-or-less in this order):

  • Discontinue the use of istio-manifests/ in docs / tutorials (in favour of the Kustomize component), and remove this directory.
  • Discontinue the use of release/istio-manifests.yaml in docs / tutorials (in favour of the Kustomize component), and remove this file.
  • Improve consistency between releases of the Kubernetes manifests and helm-chart/templates/ (through README notes and new PR requirements).
  • Discontinue the use of kubernetes-manifests/ in docs / tutorials (in favour of kustomize/base/ which should be latest upstream and not latest release), and remove this directory.

Additionally, or later, we could also consider:

  • Modifying docs / tutorials to use a specific release tag (e.g. v0) instead of cloning latest, and using the kustomize/ directory at that slice in time.
  • Discontinue the use of release/kubernetes-manifests.yaml (in favour of the slice in time of kustomize/), and remove this directory.