Closed esune closed 5 years ago
Re: Prefixes vs. Suffixes
${SUFFIX}
is a place holder to support the PR pipeline conventions. It is currently being utilized in a manual fashion to support deploying multiple application instances into the same OpenShift namespace.Re: long-lived tools
schema-spy
however the database schema for any given application instance could be different, therefore a schema-spy
instance per application instance is justified.Re: Naming
Re; Labeling (2.)
I like the new convention that uses generic service names for builds and deployments, rather than implementation-specific names. It is much easier to understand at a glance, and therefore makes it easier to figure out where to look for troubleshooting.
Prefixes vs. Suffixes
Prefixing vs. suffixing names: this can just be my personal preference, but I think it reads better if we prefix the deployment names (e.g.:
indy-cat-api
rather thanapi-indy-cat
). Another reason for this is that the pr-based pipeline will add suffixes to deployments as well, so prefixing may make things - again - more readable.Labeling
Deployment groupings: splitting long-lived tools (e.g.: backup container, schema-spy) from the applications, both by using the
APP_NAME
andAPP_GROUP
labels would be beneficial because:indy-catalyst-orgbook
for the main components, andindy-catalyst-orgbook-tools
for backup and schema-spy. This could be further refined if, as an example, the backup container was used to back-up multiple databases belonging to different instances of the app (not sure if we would have this use case, but it is in theory possible).APP_NAME
andAPP_GROUP
: these labels were introduced to allow for a better logical grouping of services in OpenShift, so that operations (e.g.: delete everything related to a deployment) could be completed in bulk, rather than per-deployment. We should keep this groupings, but we could consider migrating to k8s standard labels as described here. In particular, we could replaceAPP_GROUP
withapp.kubernetes.io/part-of
(or justpart-of
) for consistency, andAPP_NAME
withapp.kubernetes.io/component
(or justcomponent
).Naming
I know what the service
worker
does, just wondering if we should make it even more explicit by naming it something likemessage-queue-worker
. This way, if the queue is namedmessage-queue
they would also line up nicely together in the UI :wink:Conclusions
These are my initial thoughts, open to chatting more about them especially if something I said does not make too much sense!