-
Notifications
You must be signed in to change notification settings - Fork 600
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release/v0.6.0 #1425
Release/v0.6.0 #1425
Conversation
Regarding: Open question about the releasing directoryRenaming
Regarding: Open question about the releasing manifestsI think it's fine to leave as is (i.e., have duplicated database-related manifests and ConfigMaps).
is mostly harmless. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you again, @bourgeoisor, for the walkthrough of this pull-request yesterday.
For the open questions, I would consider opening a new GitHub issue just for tracking purposes — and work on those improvements incrementally.
I think it's important to not stuff too many changes into this pull-request.
Excellent work!
I trust your testing of the kubernetes-manifests/*.yaml
. I have not tested them myself.
Approved.
This PR releases Bank of Anthos
v0.6.0
.This is the first release since the refactoring of the CI/CD pipeline to support Kustomize, Cloud Build, Cloud Deploy, and Artifact Registry. As such, it warrants at minimum a bump of the Y component of SemVer.
Draft release notes: https://github.com/GoogleCloudPlatform/bank-of-anthos/releases/edit/untagged-b4569a5ccb5058050ab7
Open questions
About the releasing directory
Edit: I've decided to keep the releasing directory as-is (that is,
kubernetes-manifests/
) for now. We can revisit this story later.Historically and still in this PR, the release manifests are stored in the
kubernetes-manifests/
directory. Given that these are not the original / source of truth manifests (those live insrc/
alongside their relevant services) and especially now that they are explicitly rendered (usingskaffold render
), I wonder if perhaps "kubernetes-manifests" is a misleading name. It may make sense to try to align ourselves to Online Boutique who uses arelease/
directory for release manifests (see here). Of course, this would mean keeping thekubernetes-manifests/
for a little while longer (essentially having a duplicate) while various tutorials (+ this repo's READMEs and tutorials) get fixed up to the newer directory. That said, if there was ever a time to do that change, this would be it (at the same time as all the CI/CD and rendering changes).The following may also need to be tweaked / fixed:
kubernetes-manifests
(can do a search)About the releasing manifests
Edit: I've decided to manually remove the duplicate k8s entries in for now. I have created a tracking issue: #1437
Previously, each services had their own rendered manifest files (alongside the two DB services, the JWT key, and the various ConfigMaps). With the current
skaffold render
setup, a few files goes away:accounts-db.yaml
gets duplicated inside of the contacts and userservice filesledger-db.yaml
gets duplicated inside of the balancereader, ledgerwiter, and transactionhistory filesjwt-secret.yaml
andconfig.yaml
both get duplicated inside of every servicesThis is intentionally how the Sakffold renderer should work (if we ask it to render a specific service, it will also render out its direct dependencies) and does still run as long as we make sure that no tutorial or other content gets broken because of it (what if a tutorial is explicitly trying to run
kubectl apply -f config.yaml
for example?) but it does look messy when applying Bank of Anthos on a cluster, getting a handful ofunchanged
from duplicate objects:I wonder if it would make sense to try to mimic the previous behaviour as much as possible (no duplicates anywhere, DBs in their own files, and ConfigMaps in their own file). This may unfortunately require manual scripting, since it goes beyond what the Skaffold renderer tries to do. Alternatively, we could render everything in a single file (no duplicate would get generated) but this would mean users couldn't easily pick-and-choose services (and would definitely break some tutorials).
Testing
I have deployed on a default 3-node GKE Standard cluster: