-
Notifications
You must be signed in to change notification settings - Fork 738
Description
As of release v0.6.0 (PR: #1425), release Kubernetes manifests are no longer copy-pasted from a staging directory. Instead, they are programmatically generated using skaffold render (see https://github.com/GoogleCloudPlatform/bank-of-anthos/blob/release/v0.6.0/docs/releasing/make-release.sh#L60-L72).
Since we want to keep parity with the pre-v0.6.0 versions of Bank of Anthos which had each microservice in a different file, this causes some issues wherein duplicate Kubernetes objects are rendered in multiple files:
. . .
secret/jwt-key unchanged
deployment.apps/loadgenerator created
configmap/ledger-db-config unchanged
service/ledger-db unchanged
statefulset.apps/ledger-db unchanged
namespace/bank-of-anthos-development unchanged
serviceaccount/bank-of-anthos unchanged
configmap/demo-data-config unchanged
configmap/environment-config unchanged
configmap/service-api-config unchanged
secret/jwt-key unchanged
service/transactionhistory created
deployment.apps/transactionhistory created
namespace/bank-of-anthos-development unchanged
serviceaccount/bank-of-anthos unchanged
configmap/demo-data-config unchanged
. . .
For release v0.6.0, I have taken the action of manually:
- Removing the duplicate
config.yamlobjects from all other files - Removing the duplicate
ledger-db.yamlandaccounts-db.yamlobjects from all other files - Removing the duplicate
jwt-secret.yamlobject from all other files - Adding the new ServiceAccount to the
config.yamlfile (not sure if it's the right place for it, it may deserve its own file, but that would require breaking a tutorial or two).
We should look into automating the above steps for new releases, or finding an alternative solution. I have looked into diff, comm, and third-party tools like dyff, but none of them works out great when diff'ing out entire objects.